1. 冒泡排序
//冒泡排序
function bubbleSort(arr) {
for(let i = 0; i < arr.length; i++) {
for(let j = 0; j < arr.length-i-1; j++) {
if(arr[j] > arr[j + 1]) {
let buf = arr[j];
arr[j] = arr[j+1];
arr[j + 1] = buf;
}
}
}
return arr;
}
let arr = [1,5,2,4,6,3];
// console.log(bubbleSort(arr));
2. 快排
//快排
function quictSort(left,right, arr) {
if(left > right) return;
let temp = arr[left];
let i = left;
let j = right;
while(i !== j) {
while(arr[j] >= temp && j > i) j--;
while(arr[i] <= temp && j > i) i++;
if(i < j) {
let buf = arr[i];
arr[i] = arr[j];
arr[j] = buf;
}
}
if(arr[i] < temp) {
let buf = arr[i];
arr[i] = arr[left];
arr[left] = buf;
}
this.quictSort(left, i-1, arr);
this.quictSort(i+1, right, arr);
return arr;
}
let arr1 = [1,5,2,4,6,3,8,10,4];
//console.log(quictSort(0, arr1.length - 1, arr1));
3. 插入排序
//插入排序
function insertSort(arr) {
for(let i = 1; i < arr.length; i++) {
let temp = arr[i];
let j = i;
while(temp < arr[j-1] && j >= 1) {
arr[j] = arr[j-1];
j--;
}
arr[j] = temp;
}
return arr;
}
let arr2 = [1,4,2,6,0];
//console.log(insertSort(arr2));