1、创建一个数组
var a = [23,57,1,45,12,68];
2、封装函数
function qs(arr){
// 如果传入的数组的长度小于等于1,就直接返回
if(arr.length<=1){
return arr
}
// 找到数组的中间值 存储在ind中
var ind = Math.floor(arr.length/2);
// 将中间值在数组中删除,保存在val中,一会将数组中的元素和val进行比对
var val = arr.splice(ind,1);
//创建两个空数组来保存数据
var left=[],right=[];
// 循环变量arr中的每一项
for(var i = 0; i < arr.length; i++){
// 如果arr[i]<中间值 就追加到左边
if(arr[i]<val){
left.push(arr[i]);
}else{
// 比val大的值追加在右边
right.push(arr[i]);
}
}
// 将左中右连接起来
return qs(left).concat(val,qs(right));
}
3、调用函数
var b = qs(a);
console.log(b)