成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Scala中怎么實現冒泡排序和歸并排序-創(chuàng)新互聯

Scala中怎么實現冒泡排序和歸并排序,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

創(chuàng)新互聯堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網站建設、網站設計、企業(yè)官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的西烏珠穆沁網站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!

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中怎么實現冒泡排序和歸并排序的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道,感謝各位的閱讀!

本文題目:Scala中怎么實現冒泡排序和歸并排序-創(chuàng)新互聯
文章來源:http://jinyejixie.com/article36/cshosg.html

成都網站建設公司_創(chuàng)新互聯,為您提供網站收錄、關鍵詞優(yōu)化、商城網站、品牌網站設計、ChatGPT、全網營銷推廣

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

h5響應式網站建設