1、冒泡排序:
从第一项起,比较相邻两个元素,比较后交换位置,将最大或最小值冒泡到最后
for(var i = 0;i < arr.length;i++){
for(var j = 0;j< arr.length - i;j++){
if(arr[j] > arr[j+1]){
var temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
2、选择排序:
从第一项起,每一项和后面所有项依次比较,交换位置
for(var i = 0;i < arr.length;i++){
for(var j = i + 1;j< arr.length;j++){
if(arr[i] > arr[j]){
var temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
3、插入排序
for(var i = 0;i < arr.length;i++){
var temp = a[i];
for(var j = i;j >= 0 ;j--){
if(arr[j-1] > temp){
a[j] = a[j-1]
}else{
a[j] = temp;
break;
}
}
}
4、快速排序(递归)
function quickSort(arr){
if(arr.length <=1) return arr;
var midIndex = Math.floor(arr.length / 2);
var midVal = arr.splice(midIndex,1)[0];
var left = [];
var right = [];
for(var i = 0;i< arr.length;i++){
if(arr[i] < midVal){
left.push(arr[i]);
}else{
right.push(arr[i]);
}
}
return quickSort(left).concat(midVal,quickSort(right));
}