一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - java實現希爾排序算法

java實現希爾排序算法

2019-12-15 15:14hebedich JAVA教程

希爾排序(Shell Sort)是插入排序的一種,是針對直接插入排序算法的改進,是將整個無序列分割成若干小的子序列分別進行插入排序,希爾排序并不穩定。該方法又稱縮小增量排序,因DL.Shell于1959年提出而得名。

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//帶增量的插入排序
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實現希爾排序算法

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久88综合 | 国产麻豆麻豆 | 亚洲日本va午夜中文字幕 | 欧美怡红院视频一区二区三区 | 国产成人精品视频频 | 天美传媒果冻传媒星空传媒 | 明星ai智能人脸替换造梦在线播放 | 午夜伦伦电影理论片费看 | 亚洲精品九色在线网站 | 第一次不是你高清在线观看 | 国产在线影院 | 99ri在线视频网 | 欧洲另类一二三四区 | 国产一级黄色录像 | 女bbbbxxxx视频| 日本嫩小xxxxhd| 海角社区在线登录 | 亚洲精品国产精品精 | 国产在线步兵一区二区三区 | 国产一级一级片 | 久久亚洲电影www电影网 | 俺去俺也在线www色官网 | 免费一级欧美片片线观看 | 黑人开嫩苞 | japonensis日本护士18 | 欧美同性猛男videos | 欧美一区二区三区gg高清影视 | 波多野结衣久久国产精品 | 特a级片| 九九精品久久 | 亚洲欧美午夜 | 91国产高清 | 人与禽交3d动漫羞羞动漫 | 狠狠色成人综合网图片区 | 国产日韩欧美不卡www | 国产精品永久免费视频 | 人人看人人射 | 国产清纯女高中生在线观看 | 欧美日韩国产成人综合在线影院 | 亚洲第一区在线观看 | 日本天堂视频 |