var arr = [7, 3, 10, 5, 4, 3, 2, 12];
//冒泡
function bubbleSort(arr) {
var len = arr.length - 1;
for (i = 0; i < len; i++) {
for (j = 0; j < len - i; j++) {
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}
//快速排序
function quickSort(arr) {
if (arr.length <= 1) {
return arr;
}
var left = [],
right = [];
var l = Math.floor(arr.length / 2);
var splitEle = arr.splice(l, 1)[0];
for (var i = 0; i < arr.length; i++) {
if (arr[i] < splitEle) {
left.push(arr[i]);
} else {
right.push(arr[i]);
}
}
return arguments.callee(left).concat(splitEle, arguments.callee(right));
}
//选择排序
function selectQuot(arr) {
for (i = 0; i < arr.length - 1; i++) {
for (j = i + 1; j < arr.length; j++) {
if (arr[i] > arr[j]) {
var temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
return arr;
}
//插入排序
function insertSort(arr) {
var len = arr.length;
for (i = 1; i < len; i++) {
var key = arr[i];
var j = i - 1;
while (j >= 0 && arr[j] > key) {
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = key;
}
return arr;
}
//希尔排序
function shellSort(arr) {
var len = arr.length;
var gap = len;
do {
gap = Math.floor(gap / 3) + 1;
for(var i = gap; i < len; i++){
var temp = arr[i];
var j = i - gap;
while (j >= 0 && temp < arr[j]) {
arr[j + gap] = arr[j];
j -= gap;
}
arr[j + gap] = temp;
}
}while (gap > 1)
return arr;
}