1、桶排序(桶中出現的數組元素都做個標記1,然后將桶數組中有1標記的元素依次打印):將數組分到有限數量的桶里。每個桶再個別排序(有可能再使用別的排序算法或是以遞歸方式繼續使用桶排序進行排序),最后依次把各個桶中的記錄列出來記得到有序序列。
var arr2=[];
for(var i=0;i<arr.length;i++){
var key=arr[i];
arr2[key]=1;
}
for(var j in arr2){
console.log(j);
}
2、冒泡排序(每一趟找出最大的):將數組中的相鄰兩個元素進行比較,將比較大(較小)的數通過兩兩比較移動到數組末尾(開始),執行一遍內層循環,確定一個最大(最小)的數,外層循環從數組末尾(開始)遍歷到開始( 末尾 )。
3、快速排序(假定某個位置的值是最小值):快速排序法號稱是目前最優秀的算法之一,實現思路是,將一個數組的排序問題看成是兩個小數組的排序問題,而每個小的數組又可以繼續看成更小的兩個數組,一直遞歸下去,直到數組長度大小最大為2。