1.快排
function quickSort(arr,left,right){
if(left>right) return;
let temp = arr[left];
let i=left,j=right;
while(i!==j){
while(arr[j]>temp&&i<j) j--; //从右开始找小于基准的,停下
while(arr[i]<=temp&&i<j) i++; //左找大于基准的,停下
if(i<j){ //交换
let tem = arr[j];
arr[j]=arr[i];
arr[i]=tem;
}
}
arr[left]=arr[j]; //基准归位
arr[j]=temp;
quickSort(arr,left,j-1);
quickSort(arr,j+1,right);
return arr;
}
2.冒泡排序
function bubbleSort(arr){
for(let i=0;i<arr.length-1;i++){ //趟数
for(let j=0;j<arr.length-1-i;j++){ //比较
if(arr[j]>arr[j+1]){
swap(arr,j,j+1);
}
}
}
return arr;
}
function swap(arr,a,b){
let temp = arr[a];
arr[a]=arr[b];
arr[b]=temp;
}