1.冒泡排序
for(var i=0;i<arr.length-1;i++){//确定轮数
for(var j=0;j<arr.length-i-1;j++){//确定每次比较的次数
if(arr[j]>arr[j+1]){
[arr[j],arr[j+1]] = [arr[j+1],arr[j]]
}
}
}
2.快速排序
/*
快速排序:
选择一个基数,一般是选择第一个数作为基数;
大于基数的放在右边,小于放在左边;
*/
function quickSort(list, left, right) {
if (left >= right){return}
let low = left,
high = right,
midData = list[low];
while (low < high){
while (low < high && list[high] > midData){
high -= 1
}
let exchange = list[high]
list[high] = list[low]
list[low] = exchange
while (low < high && list[low] < midData){
low += 1
}
let exchanges = list[high]
list[high] = list[low]
list[low] = exchanges
}
list[low] = midData
quickSort(list, left, low)
quickSort(list, low+1, right)
return list
}
var list = [2,3,5,6,1,7]
console.log(quickSort(list, 0, list.length - 1))