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")
    }

  }

}
相关文章
快速排序(超超详细,因为自己也不是很会)
快速排序(超超详细,因为自己也不是很会)
|
10月前
快速排序
快速排序
36 0
|
10月前
|
搜索推荐 C++
C++快速排序的实现
C++快速排序的实现
|
10月前
|
算法
快速排序(三)——hoare法
快速排序(三)——hoare法
108 1
|
C++
C++快速排序
C++快速排序
72 1
|
算法 搜索推荐
快速排序到底有多快
快速排序到底有多快
106 0
重新理解快速排序
重新理解快速排序
71 0
|
机器学习/深度学习
785. 快速排序
785. 快速排序
83 0
|
C语言
快速排序就这么简单
从前面已经讲解了冒泡排序、选择排序、插入排序了,本章主要讲解的是快速排序,希望大家看完能够理解并手写出快速排序的代码,然后就通过面试了!如果我写得有错误的地方也请大家在评论下指出。
149 0
快速排序就这么简单