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

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

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

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

java實現折半排序算法

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

折半插入排序法,又稱二分插入排序法,是直接插入排序法的改良版,也需要執行i-1趟插入,不同之處在于,第i趟插入,先找出第i+1個元素應該插入的的位置,假定前i個數據是已經處于有序狀態。

折半插入排序(binary insertion sort)是對插入排序算法的一種改進,由于排序算法過程中,就是不斷的依次將元素插入前面已排好序的序列中。由于前半部分為已排好序的數列,這樣我們不用按順序依次尋找插入點,可以采用折半查找的方法來加快尋找插入點的速度。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public static void halfSort(int[] array) {
    int low, high, mid;
    int tmp, j;
    for (int i = 1; i < array.length; i++) {
      tmp = array[i];
      low = 0;
      high = i - 1;
      while (low <= high) {
        mid = low + (high - low) / 2;
        if (array[mid] > tmp)
          high = mid - 1;
        else
          low = mid + 1;
      }
      for (j = i - 1; j > high; j--) {
        array[j + 1] = array[j];
      }
      array[high + 1] = tmp;
    }
  }

折半排序算法示意圖:

java實現折半排序算法

以上所述就是本文的全部內容了,希望能夠對大家學習java折半排序算法有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 波多野结衣xxxxx在线播放 | 美女班主任让我爽了一夜视频 | 男女发生性关系视频 | 4444kk在线看片 | 美女被吸乳得到大胸 | 草久社区 | 国产18在线| 亚洲国产情侣一区二区三区 | 成年人免费在线看 | 秀婷程仪公欲息肉婷在线观看 | 国产精品亚洲一区二区久久 | 九9热这里只有真品 | 亚洲国产成人在人网站天堂 | 69短视频 | 午夜久久免影院欧洲 | 美女69xx | 91嫩草国产在线观看免费 | 日韩欧美国产免费看清风阁 | 天堂a免费视频在线观看 | 亚州综合网 | 特级毛片免费观看视频 | 日日碰碰 | 成年人视频在线免费看 | 成人国产在线视频在线观看 | 色中文字幕| 草草视频在线观看最新 | bdsm酷刑折磨死美女 | 国产成人精品一区 | 亚洲国产精品无圣光一区二区 | 201天天爱天天做 | 免费的毛片视频 | 国产精品亚洲午夜一区二区三区 | 日本制服丝袜 | www久久| 娇小XXXXX第一次出血 | 国产成人在线小视频 | 久草在线草a免费线看 | 三级伦理影院 | 我的漂亮朋友在线观看全集免费 | 特黄一级大片 | 猛h辣h高h文湿重口 门房秦大爷在线阅读 |