这是我写的快速排序代码。该功能不起作用,因为它无法达到基本情况。如果我将数据透视表记录到控制台r
,l
无论调用多少次排序函数,它们都保持不变。所以我想知道参数l
,r
是否真的没有作为数据传递给函数。为什么会这样?
function sort(data){
if(data.length < 2){
return data;
}
else{
var l = [];
var r = [];
var pivot = parseInt(data.length/2);
for(i=0; i<data.length; i++){
if(data[i] > data[pivot]){
r.push(data[i]);
}
else{
l.push(data[i]);
}
}
return sort(l).concat(sort(r));
}
}