冒泡排序
var arr1 = [3,1,6,2,9,1,20,34];
function sort(arr){
for(var i = 0 ; i < arr.length; i++){//循环几趟
for(var j = 0 ; j < arr.length-i ; j++){//每趟循环几次
if(arr[j] > arr[j+1]){
var swap = arr[j];
arr[j] = arr[j+1];
arr[j+1] = swap;
}
}
}
}
sort(arr1);
console.log(arr1);
快速排序
function quickSort(arr){
//如果数组<=1,则直接返回
if(arr.length<=1){return arr;}
var pivotIndex=Math.floor(arr.length/2);
//找基准,并把基准从原数组删除
var pivot=arr.splice(pivotIndex,1)[0];
//定义左右数组
var left=[];
var right=[];
//比基准小的放在left,比基准大的放在right
for(var i=0;i<arr.length;i++){
if(arr[i]<=pivot){
left.push(arr[i]);
}
else{
right.push(arr[i]);
}
}
//递归
return quickSort(left).concat([pivot],quickSort(right));
}
console.log(quickSort([9,2,67,34,12,0,5]))