国产探花免费观看_亚洲丰满少妇自慰呻吟_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希爾排序有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 盘锦市| 渝中区| 湘潭市| 张北县| 邛崃市| 嫩江县| 大连市| 蓝田县| 苍山县| 石嘴山市| 凌云县| 大丰市| 夏津县| 武隆县| 蕉岭县| 庆城县| 克什克腾旗| 伊金霍洛旗| 太谷县| 内丘县| 博湖县| 武陟县| 香河县| 临颍县| 陆良县| 阜南县| 岳阳县| 临安市| 兴安县| 三都| 无棣县| 明光市| 齐河县| 丰城市| 沭阳县| 水富县| 遵义市| 涞源县| 丹阳市| 洪洞县| 黔东|