基本方法
function bubbleSort(arr){
const len = arr.length
for(let i = 0;i<len;i++){
for(let j=0;j<len-1;j++){
if(arr[j] > arr[j+1]){
let temp = arr[j]
arr[j] = arr[j+1]
arr[j+1] = temp
}
}
}
return arr
}
基本方法改进
j 循环从 i+1 开始
function bubbleSort(arr){
const len = arr.length
for(let i = 0;i<len;i++){
for(let j=0;j<len-i-1;j++){
if(arr[j] > arr[j+1]){
let temp = arr[j]
arr[j] = arr[j+1]
arr[j+1] = temp
}
}
}
return arr
}
选择排序
function selectSort(arr){
const len = arr.length
let indexMin
for(let i = 0;i<len-1;i++){
indexMin = i;
for(let j=i;j<len;j++){
if(arr[indexMin] > arr[j]){
indexMin = j
}
}
if(i !== indexMin){
let temp = arr[i]
arr[i] = arr[indexMin]
arr[indexMin] = temp
}
}
return arr
}
插入排序
function insetSort(arr){
const len = arr.length
let j, temp
for(let i = 1;i<len;i++){
j = i
temp = arr[i]
while(j>0 && arr[j-1] > temp){
arr[j] = arr[j-1]
j --
}
arr[j] = temp
}
return arr
}