希望能够在Javascript中使用此Quicksort算法获得一些帮助(这不是用于作业或任何事情,只是很有趣) - 它不起作用,我不确定哪里出错。JavaScript中的快速排序错误
function quicksort (arr) {
// Launch the sorting process.
sort(arr, 0, arr.length - 1);
/**
* swap
* takes in an array and two indexes,
* swaps the elements in the array at those indexes
*/
function swap (arr, a, b) {
var temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
function partition (arr, l, r) {
var p = arr[r],
i = l - 1,
j = l;
while (j < r - 1) {
if (arr[j] <= p) {
swap (arr, ++i, j);
}
j++;
}
swap (arr, i + 1, r);
return i + 1;
}
function sort (arr, l, r) {
var p;
if (l < r) {
p = partition(arr, l, r);
sort(arr, l, p - 1);
sort(arr, p + 1, r);
} else {
console.log(arr);
}
}
}
你的代码不工作的方式是什么? – APerson 2014-10-02 15:46:24
我给它快速排序([8,3,2,1,5,1,3]) ,它返回:[1,3,2,3,5,8,1] – graemeboy 2014-10-02 15:47:00
对不起,按下输入没有班次和触发了一个不成熟的帖子 – graemeboy 2014-10-02 15:47:59