function swap (arr, a, b) {
var temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
function partition (arr, start, end) {
var _start = start;
var _end = end;
let index = start;
start = start - 1;
end = end + 1;
let base = array[~~((start+end)/2)];
while (index !== end) {
if (arr[index] < base) {
start ++;
swap(arr, index, start);
index ++;
}else if (arr[index] === base) {
index ++;
}else if (arr[index] > base) {
end --;
swap(arr, index, end);
}
}
// console.log(`${_start}-${start}`);
// console.log(`${end}-${_end}`);
if (_start < start) {
partition(array, _start, start);
}
if (end < _end) {
partition(array, end, _end);
}
}
let array = [-1, 115, 23, 23, 1, 23, 18, 114,5435,4,65,6,5,765,7,6,87,67,67,5,6,45,4,56,546,54];
partition(array,0,array.length - 1);
console.log(array);
uj5u.com熱心網友回復:
冒泡排序它不香嗎uj5u.com熱心網友回復:
比原生的sort方法快嗎?轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/129034.html
標籤:JavaScript
上一篇:一個很簡單的問題
下一篇:我和阿里datav的愛恨情仇
