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),即所有記錄放在同一組中進行直接插入排序為止。
相關文章
- javascript氣泡排序簡單介紹JavaScript排序
- JavaScript 簡單介紹JavaScript
- 簡單介紹克隆 JavaScriptJavaScript
- javascript物件簡單介紹JavaScript物件
- javascript this指向簡單介紹JavaScript
- javascript加密簡單介紹JavaScript加密
- 簡單介紹JavaScript閉包JavaScript
- javascript constructor簡單介紹JavaScriptStruct
- javascript建立物件簡單介紹JavaScript物件
- javascript的this用法簡單介紹JavaScript
- javascript arguments用法簡單介紹JavaScript
- javascript 變數簡單介紹JavaScript變數
- javascript簡單模板引擎介紹JavaScript
- javascript作用域簡單介紹JavaScript
- JavaScript return語句簡單介紹JavaScript
- javascript鏈式呼叫簡單介紹JavaScript
- javascript除法運算簡單介紹JavaScript
- javascript &&和||運算子簡單介紹JavaScript
- javascript方法過載簡單介紹JavaScript
- javascript遞迴概念簡單介紹JavaScript遞迴
- JavaScript this指向解綁簡單介紹JavaScript
- javascript陣列操作簡單介紹JavaScript陣列
- javascript with()語句用法簡單介紹JavaScript
- javascript匿名函式簡單介紹JavaScript函式
- javascript的in運算子簡單介紹JavaScript
- javascript變數宣告簡單介紹JavaScript變數
- 如何學習javascript簡單介紹JavaScript
- javascript生命週期簡單介紹JavaScript
- javascript變數汙染簡單介紹JavaScript變數
- javascript AMD規範簡單介紹JavaScript
- javascript如何操作iframe簡單介紹JavaScript
- 【PHP資料結構】插入類排序:簡單插入、希爾排序PHP資料結構排序
- javascript求餘運算簡單介紹JavaScript
- javascript取模運算簡單介紹JavaScript
- javascript關聯陣列簡單介紹JavaScript陣列
- javascript Object型別物件簡單介紹JavaScriptObject型別物件
- javascript記憶體管理簡單介紹JavaScript記憶體
- javascript innerText屬性用法簡單介紹JavaScript