java實(shí)現(xiàn)希爾排序算法
希爾排序算法的基本思想是:先取一個(gè)小于n的整數(shù)d1作為第一個(gè)增量,把文件的全部記錄分成d1個(gè)組。所有距離為dl的倍數(shù)的記錄放在同一個(gè)組中。先在各組內(nèi)進(jìn)行直接插人排序;然后,取第二個(gè)增量d2<d1重復(fù)上述的分組和排序,直至所取的增量dt=1(dt<dt-l<…<d2<d1),即所有記錄放在同一組中進(jìn)行直接插入排序?yàn)橹?。該方法?shí)質(zhì)上是一種分組插入方法。
//帶增量的插入排序
public static void shellSort(int[] array) {
int len = array.length;
int h = 1;
while (h < len)
h = h * 3 + 1;
while (h >= 1) {
for (int i = 1; i < len; i++) {
for (int j = i; j >= h; j = j - h) {
if (array[j] < array[j - h]) {
Sort.swap(array, j, j - h);//交換j和j-h
} else
break;
}
}
h = h / 3;
}
}
希爾排序示意圖

以上所述就是本文的全部?jī)?nèi)容了,希望能夠?qū)Υ蠹沂炀氄莆誮ava希爾排序有所幫助。
相關(guān)文章
利用spring?boot+WebSocket實(shí)現(xiàn)后臺(tái)主動(dòng)消息推送功能
目前對(duì)于服務(wù)端向客戶(hù)端推送數(shù)據(jù),常用技術(shù)方案有輪詢(xún)、websocket等,下面這篇文章主要給大家介紹了關(guān)于利用spring?boot+WebSocket實(shí)現(xiàn)后臺(tái)主動(dòng)消息推送功能的相關(guān)資料,需要的朋友可以參考下2022-04-04
使用Feign調(diào)用時(shí)添加驗(yàn)證信息token到請(qǐng)求頭方式
這篇文章主要介紹了使用Feign調(diào)用時(shí)添加驗(yàn)證信息token到請(qǐng)求頭方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
java實(shí)現(xiàn)pdf文件截圖的方法【附PDFRenderer.jar下載】
這篇文章主要介紹了java實(shí)現(xiàn)pdf文件截圖的方法,結(jié)合實(shí)例形式分析了java基于PDFRenderer.jar進(jìn)行pdf文件截圖的相關(guān)操作技巧,并附帶PDFRenderer.jar文件供讀者下載使用,需要的朋友可以參考下2018-01-01

