【发布时间】:2016-09-20 10:09:02
【问题描述】:
我正在尝试递归调用函数(出于排序目的),但出现错误。我试图寻找解决方案,发现How to call function recursively; 我相应地更改了我的代码,所以现在它看起来像这样:
$scope.orderCustom = function() {
qS.quickSort($scope.mydata, 0, mydata.length-1);
};
var qS = {
quickSort: function quickSort(data, min, max) {
if (min < max) {
var p = qSP.quickSortPartition(data, min, max);
var newMax = p-1;
var newMin = p+1;
qS.quicksort(data, min, newMax);
qS.quicksort(data, newMin, max);
}
}
};
var qSP = {
quickSortPartition: function quickSortPartition(data, min, max) {
var pivot = data[max].id;
var i = min;
for (var j = min; j <= max; j++) {
if (data[j].id <= pivot) {
var pom = data[j];
data[j] = data[i];
data[i] = pom;
i = i+1;
}
}
var pom = data[i];
data[i] = data[max];
data[max] = pom;
return i;
}
};
我收到一个错误“错误:qS.quicksort 不是函数”。有谁知道如何解决这个问题? 我仍然无法对 stackoverflow 发表评论,因此我不得不为此提出一个新问题。任何帮助都将不胜感激。谢谢:)
【问题讨论】:
-
拨打
quickSort
标签: angularjs