冒泡排序
function bubbleSort(arr) {
var i = arr.length,
j;
var tempExchangeVal;
while (i > 0) {
for (j = 0; j < i - 1; j++) {
if (arr[j] > arr[j + 1]) {
tempExchangeVal = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tempExchangeVal;
}
}
i--;
}
return arr;
}
var arr = [22, 11, 55, 44, 33];
var arrSorted = bubbleSort(arr);
console.log(arrSorted);
选择排序
function selsetSort(arr) {
var len = arr.length;
var minIndex;
for (var i = 0; i < len - 1; i++) {
minIndex = i;
for (var j = i + 1; j < len; j++) {
if (arr[minIndex] > arr[j]) {
minIndex = j;
}
}
if (minIndex != i) {
var temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
return arr;
}
var arr = [3, 2, 6, 8, 1];
var arrSorted = selsetSort(arr);
console.log(arrSorted);
快速排序
function quick_sort(arr,from,to){
var i = from;
var j = to;
var key = arr[from];
if(from >= to){
return;
}
while(i < j){
while(arr[j] > key && i < j){
j--;
}
while(arr[i] <= key && i < j){
i++;
}
if(i < j){
var temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
arr[from] = arr[i]
arr[i] = key;
quick_sort(arr,from,i-1);
quick_sort(arr,i+1,to);
}
var arr = [3,3,-5,6,0,2,-1,-1,3];
console.log(arr);
quick_sort(arr,0,arr.length-1);
console.log(arr);