网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Scala中怎么实现冒泡排序和归并排序-创新互联

Scala中怎么实现冒泡排序和归并排序,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站建设、网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的西乌珠穆沁网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

1、冒泡排序

def sort(list: List[Int]): List[Int] = list match {  case List() => List()  case head :: tail => compute(head, sort(tail)) } def compute(data: Int, dataSet: List[Int]): List[Int] = dataSet match {  case List() => List(data)  case head :: tail => if (data <= head) data :: dataSet else head :: compute(data, tail) }def main(args: Array[String]) {  val list = List(3, 12, 43, 23, 7, 1, 2, 0)  println(sort(list)) }

2、归并排序

def mergedSort[T](less: (T, T) => Boolean)(list: List[T]): List[T] = {  def merged(xList: List[T], yList: List[T]): List[T] = {   (xList, yList) match {    case (Nil, _) => yList    case (_, Nil) => xList    case (x :: xTail, y :: yTail) => {     if (less(x, y)) x :: merged(xTail, yList)     else      y :: merged(xList, yTail)    }   }  }  val n = list.length / 2  if (n == 0) list  else {   val (x, y) = list splitAt n   merged(mergedSort(less)(x), mergedSort(less)(y))  } }def main(args: Array[String]) {  val list = List(3, 12, 43, 23, 7, 1, 2, 0)  println(mergedSort((x: Int, y: Int) => x < y)(list)) }

3、快速排序

def quickSort(list: List[Int]): List[Int] = {  list match {   case Nil => Nil   case List() => List()   case head :: tail =>    val (left, right) = tail.partition(_ < head)    quickSort(left) ::: head :: quickSort(right)  } }def main(args: Array[String]) {  val list = List(3, 12, 43, 23, 7, 1, 2, 0)  println(quickSort(list)) }

看完上述内容,你们掌握Scala中怎么实现冒泡排序和归并排序的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


网页题目:Scala中怎么实现冒泡排序和归并排序-创新互联
当前链接:http://bjjierui.cn/article/cshosg.html

其他资讯