【scala 数据结构和算法】Scala实现:快速排序
来源:互联网 发布:淘宝客算销量吗 编辑:程序博客网 时间:2024/05/29 17:10
算法思想:
快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
scala递归使用快速排序:
/** * Created by Administrator on 2017/12/18. */object QuickSort { def quickSort(list: List[Int]): List[Int] = list match { case Nil => Nil case List() => List() case head :: tail => // 数组,按照首元素,分成左右2个partition 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, 20) println(quickSort(list)) }}
运行结果:
List(1, 2, 3, 7, 12, 20, 23, 43)Process finished with exit code 0
阅读全文
1 0
- 【scala 数据结构和算法】Scala实现:快速排序
- scala数据结构和算法-04-快速排序实现
- scala数据结构和算法-01-用scala实现合并排序
- 【scala 数据结构和算法】Scala实现:冒泡排序
- 【scala 数据结构和算法】Scala实现:归并排序
- scala数据结构和算法-03-冒泡排序实现
- scala数据结构和算法-05-插入排序实现
- Scala快速排序算法
- 快速排序:Scala实现
- Scala实现快速排序
- scala数据结构和算法-07-希尔排序
- scala数据结构和算法-08-堆排序
- scala数据结构和算法-10-计数排序
- scala 排序算法 快速排序
- 快速排序的Java和Scala实现
- scala实现排序算法
- Scala实现冒泡排序、归并排序和快速排序
- Scala实现冒泡排序、归并排序和快速排序
- zookeeper启动过程函数调用
- 2017.12.18 LeetCode
- Jenkins轮询目录设置
- EditPlus等编辑器选中列(块)的方法
- JMS(二)--ActiveMQ简单介绍以及安装
- 【scala 数据结构和算法】Scala实现:快速排序
- 算法时间复杂度与空间复杂度
- 软件缺陷的正式定义
- 基于SSH框架-CRM客户资源管理系统-简单小项目开发记录-CRM系统-04
- 数据结构实验之排序三:bucket sort
- 安装PHP5
- SSH开发 报错:Unable to instantiate Action, controller.MsgController, defined for'show' in namespace '
- numpy学习笔记
- 利用格式化<iomanip>输出三角形