激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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

服務器之家 - 編程語言 - JAVA教程 - 淺析java 希爾排序(Shell)算法

淺析java 希爾排序(Shell)算法

2019-12-09 14:31hebedich JAVA教程

這篇文章主要介紹了淺析java 希爾排序(Shell)算法的原理以及示例,需要的朋友可以參考下

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

原理圖:

淺析java 希爾排序(Shell)算法

源代碼

 

復制代碼代碼如下:

package com.zc.manythread;
/**
 * 
 * @author 偶my耶
 *
 */
public class ShellSort {
    public static int count = 0;
    public static void shellSort(int[] data) {
        // 計算出最大的h值
        int h = 1;
        while (h <= data.length / 3) {
            h = h * 3 + 1;
        }
        while (h > 0) {
            for (int i = h; i < data.length; i += h) {
                if (data[i] < data[i - h]) {
                    int tmp = data[i];
                    int j = i - h;
                    while (j >= 0 && data[j] > tmp) {
                        data[j + h] = data[j];
                        j -= h;
                    }
                    data[j + h] = tmp;
                    print(data);
                }
            }
            // 計算出下一個h值
            h = (h - 1) / 3;
        }
    }
    public static void print(int[] data) {
        for (int i = 0; i < data.length; i++) {
            System.out.print(data[i] + "\t");
        }
        System.out.println();
    }
    public static void main(String[] args) {
        int[] data = new int[] { 4, 3, 6, 2, 1, 9, 5, 8, 7 };
        print(data);
        shellSort(data);
        print(data);
    }
}

 

運行結果:

淺析java 希爾排序(Shell)算法

Shell排序是不穩定的,它的空間開銷也是O(1),時間開銷估計在O(N3/2)~O(N7/6)之間

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 狠狠操天天射 | 亚州精品天堂中文字幕 | 黄色网址免费在线 | 小视频在线看 | 日韩视频观看 | 黄色av免费电影 | 国产亚洲精品成人a | 高清av免费 | 欧美日韩亚洲精品一区二区三区 | 欧美一级特黄aaaaaaa什 | 欧美一区2区三区4区公司二百 | 激情视频免费看 | 亚洲国产高清视频 | 成人精品久久久 | 夜添久久精品亚洲国产精品 | 午夜视频亚洲 | 九九久久视频 | 激情综合视频 | 99热99精品 | 精品一区二区三区网站 | 成人乱人乱一区二区三区 | 欧美成人一区免费视频 | 久久av免费 | 亚洲最大久久 | 国产成人综合在线观看 | 操操操操操| 欧美顶级毛片在线播放小说 | 91情侣在线偷精品国产 | asian裸体佳人pics | 四季久久免费一区二区三区四区 | 午夜视频在线观看91 | 爽毛片| 婷婷一区二区三区四区 | 欧产日产国产精品99 | 最新久久免费视频 | 国产成人小视频在线观看 | 欧美精品一区二区三区在线 | 欧美一级淫片免费播放口 | 欧美高清第一页 | 中国7777高潮网站 | 日本a∨精品中文字幕在线 被啪羞羞视频在线观看 |