1。快速排序 思路:通过一个临界时,把一个数组分为两个数组,小于临界值放倒左边,大于临界值放到右边,一轮循环结束之后,继续往下递归,直到每一个小数组的长度为2
function qustSort(arr, start, end) {
if (start > end) {
return
}
let i = start
let j = end
let base = arr[start]
while (i < j) {
while(i<j && arr[j] >= base) j--
while(i<j && arr[i] <=base) i++
if (i < j) {
swap(arr, i, j)
}
}
swap(arr, start, i)
qustSort(arr, start, j - 1)
qustSort(arr, j + 1, end)
}
function swap(arr, left, right) {
let temp
temp = arr[right]
arr[left] = arr[right]
arr[right] = arr[left]
}