快速排序:
function quick(arr) {
if(arr.length<=1) {
return arr
}
let left = [];
let right = [];
let index = Math.floor(arr.length/2);
let mid = arr.splice(index,1);
for(let i = 0;i<arr.length;i++) {
if(arr[i]<=mid) {
left.push(arr[i]);
}
else if(arr[i]>mid){
right.push(arr[i]);
}
}
return quick(left).concat(mid,quick(right));
}
let array = [1,4,5,3,4,1];
var result = quick(array);
console.log(result);
冒泡排序:
function bubble(arr) {
for(let i = 1;i<arr.length-1;i++){//比较的轮数
var dirty = false;//该轮是否交换过位置
for(let j = 1; j<arr.length-i; j++) {//每轮比较次数
if(arr[j]>arr[j+1]) {
dirty = true;
var temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
if(!dirty) break;
}
return arr;
}
let array = [1,4,5,3,4,1];
var result = bubble(array);
console.log(result);
插入排序:
function insert(arr) {
for(let i = 1;i<=arr.length-1;i++){//比较第几个书
var store = arr[i];
for(let j = i-1; j>=0; j--) {//每轮比较次数
if(arr[j]>store) {
arr[j+1] = arr[j];
arr[j] =store;
}
else{
break
}
}
}
return arr;
}
let array = [1,4,1,3,4,1];
var result = insert(array);
console.log(result);