排序算法1
1、梳排序
梳排序是在冒泡排序的基礎上改進的,原理:將待排序數組的長度/1.3的近似值作為比較距離進行比較和交換,直到距離小于3,之后每次減一進行比較和交換。
例:數組[9,5,6,7,3,4,5,9,8,15]
(1)數組長度為10,第一次的比較距離為10/1.3 = 8
比較的數據有9和8,5和15
比較交換后的結果為
[8,5,6,7,3,4,5,9,9,15]
(2)第二次的比較距離為8/1.3 = 6
比較的數據有8和5,5和9,6和9,7和15
比較交換后的結果為
[5,5,6,7,3,4,8,9,9,15]
(3)第三次的比較距離為6/1.3 = 4
比較的數據有5和3,5和4,6和8,7和9,3和9
比較交換后的結果為
[3,4,6,7,5,5,8,9,9,15]
(4)第四次的比較距離為3
結果為
[3,4,5,7,5,6,8,9,9,15]
(5)第五次的比較距離為2
結果為
[3,4,5,6,5,7,8,9,9,15]
(6)第六次的比較距離為1
結果為
[3,4,5,5,6,7,8,9,9,15]
參考:http://www.cnblogs.com/kkun/archive/2011/11/23/2260293.html
新聞熱點
疑難解答