js快速排序
//基数,随便选一个数组里面的数.一般情况下取素组中间的数字(这个基数决定了快速排序算法的优劣)
var arr = [43,2,8,3,5,12,85,9,23];
//快速排序的函数
function quickSort(Array1){
if(Array1.length <= 1){
return Array1;
}
//取出一个基数
//基数的下标
var privosIndex = Math.floor(Array1.length / 2);
//这个基数需要从数组里面剔除出来,再获取到
var privos = Array1.splice(privosIndex,1)[0];
var left = [];
var right = [];
for(var i = 0;i < Array1.length;i++){
if(Array1[i] < privos){
left.push(Array1[i]);
}else{
right.push(Array1[i]);
}
}
return quickSort(left).concat(privos,quickSort(right));
}
var s = quickSort(arr);
console.log(s)