冒泡排序
function bubbleSort(arr) {
for (var i = 0;i < arr.length;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]];
}
}
}
return arr;
}
插入排序
function insertSort(arr) {
for (var i = 1; i < arr.length; i++) {
var temp = arr[i];
for (var j = i - 1; j >= 0; j--) {
if (temp < arr[j]) {
arr[j + 1] = arr[j];
} else {
arr[j + 1] = temp;
break;
}
}
arr[j + 1] = temp;
}
return arr;
}
选择排序
function chooseSort(arr) {
for (var i = 0;i < arr.length; i++){
var min=9999;
var min_index=-1;
for(var j = i; j < arr.length;j++){
if(arr[j]<min){
min=arr[j];
min_index=j;
}
}
[arr[i],arr[min_index]] = [arr[min_index],arr[i]];
}
return arr;
}
快速排序
function Partition (arr,low,high){
var pk=arr[low];
while(low <high) {
while(arr[high]>=pk && high>low){
high--;
}
arr[low]=arr[high];
while(arr[low]<=pk && high>low){
low++;
}
arr[high]=arr[low];
}
arr[low]=pk;
return low;
}
function quickSort(arr,low,high) {
if(low<high){
var pk=Partition(arr,low,high);
quickSort(arr,low,pk-1);
quickSort(arr,pk+1,high);
}
}
归并排序