var quickSort = function (array) {
quick(array, 0, array.length - 1)
return array;
}
var quick = function (array, left, right) {
var index;
if (array.length > 1) {
index = partition(arr, left, right);
if (left < index - 1) {
quick(array, left, index - 1);
}
if (index < right) {
quick(array, index, right);
}
}
}
var partition = function (array, left, right) {
var pivot = array[Math.floor((right + left) / 2)];
var i = left;
var j = right;
while (i <= j) {
while (array[i] < pivot) {
i++;
}
while (array[j] > pivot) {
j--;
}
if (i <= j) {
swapQuickSort(array, i, j);
i++;
j--;
}
return i;
}
}
function swapQuickSort(array,index1, index2) {
var temp = array[index1];
array[index1] = array[index2];
array[index2] = temp;
}
var arr = [1, 6, 2, 5, 9, 2, 0];
console.log(arr.toString());
console.log(quickSort(arr).toString());
js实现的快速排序算法
猜你喜欢
转载自blog.csdn.net/mangxi8200/article/details/81148788
今日推荐
周排行