1.选择排序
function selectionSort(arr){
for(let i=0;i<arr.length-1;i++){
for(let j=i+1;j<arr.length;j++){
if(arr[j]<arr[i]){
[arr[i],arr[j]]=[arr[j],arr[i]]
}
}
}
return arr
}
2.冒泡排序
function bubbleSort(arr){
for(let i=0;i<arr.length;i++){
for(let j=0;j<arr.length-i;j++){
if(arr[j]>arr[j+1]){
[arr[j],arr[j+1]]=[arr[j+1],arr[j]]
}
}
}
return arr
}
3.快速排序
function quickSort(arr){
if(arr.length<=1)return arr;//递归结束条件
let pivot=Math.floor(arr.length/2)//基底下标
let pivotvalue=arr.splice(pivot,1)[0]//数组删除基底项,pivotvalue存放基底值
let left=[]
let right=[]
arr.forEach(item => {
if(item<pivotvalue)left.push(item)
else right.push(item)
})
//遍历数组,比基底值小的放到left数组,大的放到right数组
return quickSort(left).concat(pivotvalue,quickSort(right))
}
4.sort排序
let arr=[8,1,12,7,23,9]
arr.sort(function(a,b){
return a-b;//从小到大
return b-a;//从大到小
})
5.随机排序
arr.sort(function (a, b) {
return 0.5 - Math.random()
})