排序算法有很多种,今天主要是介绍快速排序:
基本思路:
1、一个标准(standard): 用于数组的判断;
2、两个数组,分别存放比标准小的和比标准大的元素;
3、采用递归的方法不断的进行1、2操作;
4、最后采用数组的concat()方法进行合并。
代码展示:
var quickSort = function (arr){
if(arr.length <= 1){
return arr;
}
//定义一个比较的基准
var standard = arr.splice(0,1)[0];
//定义两个数组分别存放比标准小的元素和比标准大的元素
var left = [];
var right = [];
//循环进行数组中所有元素的判断
for(var i = 0;i < arr.length;i++){
if(standard <= arr[i]){
right.push(arr[i]);
}else {
left.push(arr[i])
}
}
//此处采用递归进行判断,最后再进行合并
return quickSort(left).concat(standard,quickSort(right));
}