一、氣泡排序
1二、快速排序function
bubblesort(arr) 10}
11 i--;12}
13return
arr;
14 }
1三、插入排序function
quicksort(array)
6var key =arr[right];
7var i = left, j =right;
8while (i
12 arr[j] =arr[i];
13while (i < j && arr[j] >key)
16 arr[i] =arr[j];17}
18 arr[j] =key;
19 sort(arr, left, j - 1);
20 sort(arr, j + 1, right);21}
22var newarr = array.concat(); //
為了保證這個函式是純函式拷貝一次陣列
23sort(newarr);
24return
newarr;
25 }
1四、希爾排序function
insertsort(arr) else
if (j === i - 1)12}
13}14return
resultarr;
15 }
1五、選擇排序function
shellsort(arr) 13}
14}15return
arr;
16 }
1六、堆排序堆排序詳解 (博主詳細講解了堆排序的過程)function
selectsort(arr) 10}
11resultarr.push(arr[minindex]);
12 arr.splice(minindex, 1);13}
14return
resultarr;
15 }
1七、歸併排序1. 遞迴//交換兩個節點
2function
swap(arr, i, j) 7//
建立大頂堆:i為父節點位置
8function
heapcreate(arr, i, length)
17//
使父節點是最大值
18if (temp
24}25//
堆排序26
function
heapsort(arr)
32//
排序33
for (var j=arr.length-1; j>0; j--)
39return
arr;
40 }
12. 迭代//比較兩個序列,對其歸併排序
2function
merge(left, right) else10}
11return
temp.concat(left, right);12}
13//
遞迴14
function
mergesort(arr)
18var left = arr.slice(0, math.floor(arr.length/2));
19var right = arr.slice(math.floor(arr.length/2));
20return
merge(mergesort(left), mergesort(right));
21 }
1//比較兩個序列,對其歸併排序
2function
merge(left, right) else10}
11return
temp.concat(left, right);12}
13//
迭代14
function
mergesort(arr)
18var temp = new
array();
19for (var i=0; i)
22 temp.push(); //
防止下面j+1時溢位
23for (var group=arr.length; group>1; group=math.floor((group+1)/2))
27//
j是遞增2的,k的值比arr.length小,遺留下來的k後面的資料必須清空
28 temp[k] =;29}
30return temp[0];
31 }
常見排序演算法 JS實現
氣泡排序 bubblesort 每輪排序選出乙個最小或最大的元素再乙個個插入陣列 選擇排序 selectionsort this swap min,i 從未排序元素中挑出乙個元素挨個跟區域性有序的元素進行比較,找到對應位置插入即可 插入排序 insertsort this array j temp ...
js實現常見排序演算法
電腦配置 cpu amd x4 640 記憶體 巨集想 ddr3 1600mhz 8g 主機板 華擎 980de3 u3s3 r2.0 瀏覽器 chrome 79.0.3945.88 正式版本 64 位 時間測試函式 function testruntime fn 1.氣泡排序 2.選擇排序 3.插...
js實現常見的排序演算法
插入排序的實現 function insertsort2 arr arr j 1 temp 插入排序改進,判斷j 0 function insertsort2 arr arr j 1 temp 希爾排序 分割策略 縮小增量排序 折半插入 function shellsort arr arr k ga...