var C = {};
C.shellSort = function(arr) {
var step = 5;
while (step > 0) {
for (var i = step;i<arr.length;i++) {
var j = i-step;
var key = arr[i];
while (j>=0 && key<arr[j]) {
arr[j+step] = arr[j];
j-=step;
}
arr[j+step] = key;
}
step = Math.floor(step/2);
}
return arr;
}
C.topN = function(arr,n) {
if(!arr) {
return false;
}
if (!n) {
return
}
return C.creatorN(arr,n,'top');
}
C.bottomN = function(arr,n) {
return C.creatorN(arr,n,'bottom');
}
C.creatorN = function(arr,n,type) {
var result = C.shellSort(arr);
return type==='top' ? result.slice(0,n) : result.slice(arr.length-n);
}
工具函数之取数组的topN和bottomN
最新推荐文章于 2025-08-15 16:10:12 发布
