快速排序主要分为三步:
1.找一个基准,用来与数组中的每一项进行比较。
2.定义两个数组,一个存放比基准小的元素,一个存放比基准大的元素。
3.利用递归,知道原数组中只剩下一项。
function insertSort(arr){
//如果arr最后剩下一项则返回arr
if (arr.length <= 1) {
return arr;
}
//取出数组的第一项作为标准
var standard = arr.splice(0,1)[0];
var left = [],right = [];
//循环数组中的每一项,分别放于left,right中。
for(var i = 0; i < arr.length; i++){
if (arr[i] < standard) {
left.push(arr[i]);
} else {
right.push(arr[i]);
}
}
//递归重复操作
return insertSort(left).concat([standard],insertSort(right));
}