前言
数组的学习还是非常重要的,这篇是老师给出的经典的案例,妙,不可言
引入
随机生成10个100以内的数,按从小到大的顺序进行排序
// 快速排序
function quickSort(list) {
if (list.length <= 1) {
return list;
}
var midIndex = Math.floor(list.length / 2);
var mid = list.splice(midIndex, 1)[0];
var left = [];
var right = [];
for (var i = 0; i < list.length; i++) {
if (list[i] >= mid) {
right.push(list[i]);
} else {
left.push(list[i]);
}
}
return quickSort(left).concat(mid, quickSort(right));
}
var list = [];
for (var i = 0; i < 10; i++) {
var num = Math.round(Math.random() * 100);
list[list.length] = num;
}
console.log(list);
console.log(quickSort(list));
总结
这个案例中用的比较经典的就是对数组的拆分,最后再进行拼接