Scala练习-快速排序
2017-06-19 17:58
204 查看
def sort(unSortList: List[Int]): List[Int] = { if (unSortList.isEmpty || unSortList.size == 1) return unSortList val flag: Int = unSortList.head //过滤得到小于等于基准值的数据 val lessFlag = for (item <- unSortList.tail if item <= flag) yield item //过滤得到大于基准值的数据 val greaterFlag = for (item <- unSortList.tail if item > flag) yield item //递归排序左右两侧的元素 //.:::是Set中方法,向当前列表前面添加参数列表,而:::只是链接2个列表。 //val sorted = sort(greaterFlag).:::(sort(lessFlag) :+ flag) val sorted = (sort(lessFlag) :+ flag) ::: sort(greaterFlag) sorted }
相关文章推荐
- scala 快速排序与合并排序
- Scala练习十
- Scala练习七包和引入
- scala小练习一
- Scala练习-希尔排序
- Scala练习-选择排序
- Scala练习(二)
- python练习:逆波兰,冒泡排序,快速排序
- Scala学习(二)练习
- Functional Programming in Scala第三章练习
- 算法练习-快速排序
- Scala练习(三)
- Scala练习八继承
- Scala练习-基数排序
- SCALA常规练习C
- 基本排序算法的实现(我的练习 快速排序有三种实现方式,值得关注)
- Functional Programming in Scala第二章练习
- Scala练习(五)
- scala实现快速排序
- 蓝桥杯——基础练习之分治法_快速排序