//冒泡排序
function bubbleSort(arr)
{
let len = arr.length;
for(let i=0;i<len;i++)
{
for(let j=0;j<len-1-i;j++)
{
if(arr[j]>arr[j+1])
{
let temp = arr[i];
arr[j] = arr[j];
arr[j] = temp;
}
}
}
return arr;
}
//选择排序
function selectSort(arr)
{
let len = arr.length,temp;
for(let i=0;i<len-1;i++){
let minIndex = i;
for(let j=i+1;j<len;j++)
{
if(arr[j]<arr[minIndex])
{
minIndex = j;
}
}
temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
return arr;
}
//插入排序
function insertSort(arr)
{
let len = arr.length;
for(let i=1;i<len;i++)
{
let preIndex = i-1;
let current = arr[i];
while(preIndex>=0&&arr[preIndex]>current)
{
arr[preIndex+1] = arr[preIndex];
preIndex--;
}
arr[preIndex+1] = current;
}
return arr;
}
//快速排序
function quickSort(arr, left, right) {
var len = arr.length,
partitionIndex,
left = typeof left != 'number' ? 0 : left,
right = typeof right != 'number' ? len - 1 : right;
if (left < right) {
partitionIndex = partition(arr, left, right);
quickSort(arr, left, partitionIndex-1);
quickSort(arr, partitionIndex+1, right);
}
return arr;
}
function partition(arr, left ,right) { //分区操作
var pivot = left, //设定基准值(pivot)
index = pivot + 1;
for (var i = index; i <= right; i++) {
if (arr[i] < arr[pivot]) {
swap(arr, i, index);
index++;
}
}
swap(arr, pivot, index - 1);
return index-1;
}
function swap(arr, i, j) {
var temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
let arr = [124,124,2,1244,44,24,5,5,3,62,324,53];
// let result = quickSort(arr,null,null);
// let result = bubbleSort(arr);
// let result = selectSort(arr;
// let result = insertSort(arr);
let result = insertSort(arr);
console.log(result)
console