JS 排序
- 冒泡排序
//使用了 [arr[k],arr[k + 1]] = [arr[k + 1],arr[k]]结构赋值,这样就不用中间变量了
function bubblingSort(arr=[]){
for (let i = 0 ; i < arr.length - 1; i++){
for (let k = 0 ; k < arr.length - i - 1 ; k++){
if (arr[k] > arr[k + 1]){
[arr[k],arr[k + 1]] = [arr[k + 1],arr[k]]
}
}
}
return arr
}
2.快速排序
//递归 + 不断的分 左、中、右
function fastSort(arr=[]){
if (arr.length <= 1){
return arr
}
let midIndex = Math.floor(arr.length / 2)
let midValue = arr.splice(midIndex,1)[0]
let left = []
let right = []
for (let i = 0 ; i < arr.length ; i++){
if (arr[i] < midValue){
left.push(arr[i])
}else {
right.push(arr[i])
}
}
return fastSort(left).concat(midValue,fastSort(right))
}