对一个已知数组array('1','3','100','5','99','2'); 数组个数为1000000000;里面值是无序的,进行排序,找出第二大的数。
要求:用时最少的排序算法。
语言不限。
指导指导。
对一个已知数组array('1','3','100','5','99','2'); 数组个数为1000000000;里面值是无序的,进行排序,找出第二大的数。
要求:用时最少的排序算法。
语言不限。
指导指导。
如果不用原生排序的话,可以用快排,至于最快也没办法直接肯定,快排还是存在不稳定因素
function qSort(list) {
if (list.length == 0) {
return [];
}
var lesser = [];
var greater = [];
var pivot = list[0];
for (var i = 1; i < list.length; i++) {
if (list[i] < pivot) {
lesser.push(list[i]);
} else {
greater.push(list[i]);
}
}
return qSort(lesser).concat(pivot, qSort(greater));
}
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
就用冒泡排序不就ok了。你百度一下js的冒泡排序