快速排序kotlin实现
fun qSort(array: IntArray, start: Int = 0, end: Int = array.size - 1) {
if (start < end) {
var s = start
var e = end
val baseNum = array[s]
while (e != s) {
while (e > s && baseNum <= array[e]) e-- // 从右边开始找到比baseNum小的,然后交换
array[s] = array[e]
while (e > s && baseNum >= array[s]) s++ // 从左边开始找到比baseNum大的,然后交换
array[e] = array[s]
}
// e == s 代表e这个坐标左边的都比它小,右边的都比他大(或者相等)
array[s] = baseNum
// 递归分段排序
qSort(array, start, s - 1)
qSort(array, s + 1, end)
}
}
fun main() {
val arr = intArrayOf(35, 24, 61, 232, 48, 79, 121, 29, 69, 49)
qSort(arr)
arr.forEach(::println)
}
复制代码
转载请注明出处
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END


















![[02/27][官改] Simplicity@MIX2 ROM更新-一一网](https://www.proyy.com/wp-content/uploads/2020/02/3168457341.jpg)



![[桜井宁宁]COS和泉纱雾超可爱写真福利集-一一网](https://www.proyy.com/skycj/data/images/2020-12-13/4d3cf227a85d7e79f5d6b4efb6bde3e8.jpg)

![[桜井宁宁] 爆乳奶牛少女cos写真-一一网](https://www.proyy.com/skycj/data/images/2020-12-13/d40483e126fcf567894e89c65eaca655.jpg)