sclaa -快速排序

简介: package algorithmobject QuickSortApp { def QuickSort(list: List[Int]): List[Int] = { list match { ...
package algorithm

object QuickSortApp {


  def QuickSort(list: List[Int]): List[Int] = {
    list match {
      case Nil => Nil
      case List() => List()
      case head :: tail =>                      // 使用head 作为算法中的基数
        val (left, right) = tail.partition(_ < head)
        QuickSort(left) ::: head :: QuickSort(right)          // 递归调用,直到完成排序
    }
  }

  def main(args: Array[String]): Unit = {


    val lists: List[Int] = List(1, 10, 8, 100, -234, 0, 100)


    for (ele <- lists) {
      print(ele + "\t")
    }
    val list2 = QuickSort(lists)
    println()
    for (ele <- list2) {
      print(ele + "\t")
    }

  }

}
相关文章
快速排序(超超详细,因为自己也不是很会)
快速排序(超超详细,因为自己也不是很会)
|
7月前
快速排序
快速排序
26 0
|
7月前
|
算法
快速排序(三)——hoare法
快速排序(三)——hoare法
76 1
|
C++
C++快速排序
C++快速排序
59 1
|
人工智能 搜索推荐
【快速排序】
【快速排序】
|
算法 搜索推荐
快速排序到底有多快
快速排序到底有多快
89 0
重新理解快速排序
重新理解快速排序
57 0
|
机器学习/深度学习
785. 快速排序
785. 快速排序
69 0