JavaScript希爾排序簡單介紹
本文介紹JavaScript中的希爾排序。
下面是一段程式碼例項,給出排序原理,程式碼例項:
[JavaScript] 純文字檢視 複製程式碼執行程式碼function shellSort(list){ var gap=Math.floor(list.length/2); while(gap>0){ for(i=gap;i<list.length;i++){ temp=list[i]; for(j=i;j>=gap&&list[j-gap]>temp;j-=gap){ list[j]=list[j-gap]; } list[j]=temp; } gap=Math.floor( gap / 2 ); } return list; } var theArray=[2,1,3,12,5,66,23,87,15,32]; console.log(shellSort(theArray));
實現原理:
先取一個小於n的整數d1作為第一個增量,把檔案的全部記錄分成d1個組。所有距離為d1的倍數的記錄放在同一個組中。先在各組內進行直接插入排序;然後,取第二個增量d2<d1重複上述的分組和排序,直至所取的增量dt=1(dt < dt-l< … < d2 < d1),即所有記錄放在同一組中進行直接插入排序為止。
相關文章
- 【PHP資料結構】插入類排序:簡單插入、希爾排序PHP資料結構排序
- JavaScript 簡單介紹JavaScript
- 希爾排序排序
- 簡單介紹克隆 JavaScriptJavaScript
- 理解希爾排序排序
- Java希爾排序Java排序
- 希爾排序(一)排序
- 希爾排序(二)排序
- 簡單介紹JavaScript閉包JavaScript
- 希爾排序(Shell Sort)排序
- C++希爾排序C++排序
- 希爾排序(C++)排序C++
- 排序演算法__希爾排序排序演算法
- 【排序演算法】- 希爾排序排序演算法
- 希爾排序——重溫排序(二)排序
- JavaScript return語句簡單介紹JavaScript
- 【演算法】排序04——程式碼簡約而不簡單的希爾排序(含程式碼實現)演算法排序
- 【排序】插入類排序—(折半)插入排序、希爾排序排序
- PHP 排序演算法之希爾排序PHP排序演算法
- 排序演算法:Java實現希爾排序排序演算法Java
- 排序演算法 - 快速插入排序和希爾排序排序演算法
- rust-algorithms:14-希爾排序RustGo排序
- 第二章 :查詢與排序-------希爾排序排序
- 簡單介紹下各種 JavaScript 解析器JavaScript
- 【演算法】希爾排序的實現演算法排序
- python實現希爾排序演算法Python排序演算法
- 排序演算法(氣泡排序,選擇排序,插入排序,希爾排序)排序演算法
- RPC簡單介紹RPC
- Python簡單介紹Python
- KVM簡單介紹
- RMI簡單介紹
- HTML簡單介紹HTML
- HTML 簡單介紹HTML
- CSS 簡單介紹CSS
- ajax簡單介紹
- SVG簡單介紹SVG
- Clickjacking簡單介紹
- 【Pandas】簡單介紹