來源:藏色散人 發(fā)布時間:2019-03-11 11:37:29 閱讀量:1360
梳子排序或梳排序是冒泡排序的變體。與希爾(Shell)排序類似,梳排序(Comb Sort)增加了比較和交換中使用的差距。有些實現(xiàn)是在間隔小于一定數(shù)量時使用插入排序。基本的想法是消除列表末尾附近的小值,因為在冒泡排序中,這些會大大減慢排序速度。而列表開頭的大值不會在冒泡排序中造成問題。
在冒泡排序中,當比較任何兩個元素時,它們總是具有1的間隙。梳排序的基本思想是間隙可以遠大于1。
PHP梳排序示意圖如下:
代碼示例如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
輸出:
1 2 |
|