您的位置:首页 > 其它

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
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: