這篇文章講述了JavaScript中的希爾排序,大家對JavaScript中的希爾排序不了解的話或對JavaScript中的希爾排序感興趣的話那麼我們就一起來看看本篇文章吧, 好了廢話少說進入正題吧!
JavaScript中的希爾排序
希爾排序是插入排序的一種更高效率的實作。它與插入排序的不同之處在於,它會優先比較距離較遠的元素。希爾排序的核心在於間隔序列的設定。既可以提前設定好間隔序列,也可以動態的定義間隔序列。動態定義間隔序列的演算法是《演算法(第4版》的合著者Robert Sedgewick提出的。在這裡,我就使用了這種方法。
JavaScript程式碼實作
function shellSort(arr) { var len = arr.length, temp, gap = 1; while(gap < len/3) { //动态定义间隔序列 gap =gap*3+1; } for (gap; gap > 0; gap = Math.floor(gap/3)) { for (var i = gap; i < len; i++) { temp = arr[i]; for (var j = i-gap; j >= 0 && arr[j] > temp; j-=gap) { arr[j+gap] = arr[j]; } arr[j+gap] = temp; } } return arr;}
以上就是這篇文章的所有內容,大家要是還不太了解的話,可以自己多實現兩邊就很容易掌握了哦!
##JS希爾排序與快速排序的實作方法#
以上是JavaScript中的希爾排序詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!