国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java實現希爾排序算法

2019-11-26 15:13:33
字體:
來源:轉載
供稿:網友

希爾排序算法的基本思想是:先取一個小于n的整數d1作為第一個增量,把文件的全部記錄分成d1個組。所有距離為dl的倍數的記錄放在同一個組中。先在各組內進行直接插人排序;然后,取第二個增量d2<d1重復上述的分組和排序,直至所取的增量dt=1(dt<dt-l<…<d2<d1),即所有記錄放在同一組中進行直接插入排序為止。該方法實質上是一種分組插入方法。

//帶增量的插入排序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;    }  }

希爾排序示意圖

以上所述就是本文的全部內容了,希望能夠對大家熟練掌握java希爾排序有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 娱乐| 曲麻莱县| 平南县| 科技| 上犹县| 石嘴山市| 安宁市| 浮梁县| 澄江县| 通州区| 镇康县| 峨边| 新宾| 荃湾区| 留坝县| 沅江市| 新昌县| 化德县| 筠连县| 灵璧县| 湄潭县| 阿拉善右旗| 枣强县| 晴隆县| 开平市| 宜川县| 天水市| 宜兴市| 三明市| 亳州市| 阳原县| 达日县| 安龙县| 土默特右旗| 全南县| 随州市| 定结县| 吴桥县| 玉屏| 海丰县| 芒康县|