日韩不卡免费视频-日韩不卡视频在线-日韩不卡视频在线观看-日韩不卡一二三区-伊人二区-伊人丁香花久久爱综合

北大青鳥(niǎo)北京,通州北大青鳥(niǎo)校區(qū)學(xué)術(shù)部:Java的排序之“希爾排序”

北京北大青鳥(niǎo)通州校區(qū)學(xué)術(shù)部老師講解:什么是希爾排序?

北京北大青鳥(niǎo)專(zhuān)家解答:希爾排序就是對(duì)插入排序的優(yōu)化, 他是把一個(gè)待排序的數(shù)組分段成有規(guī)律的的若干個(gè)數(shù)組排序,最后在進(jìn)行總排序來(lái)完成排序的目的,

基本思想:先取一個(gè)小于n的整數(shù)d1作為第一個(gè)增量,把文件的全部記錄分成d1個(gè)組。所有距離為d1的倍數(shù)的記錄放在同一個(gè)組中。先在各組內(nèi)進(jìn)行直接插入排序;然后,取第二個(gè)增量d2北大青鳥(niǎo)校區(qū))


(1)將等間距的數(shù)組元素按升序排列(北京北大青鳥(niǎo)校區(qū)
view plaincopy to clipboardprint?
private static void incrementalInsertionSort(int[] array, int first,  
                      int last, int space)  
    {  
        int unsorted, index;  
        for (unsorted = first + space; unsorted <= last; unsorted += space)  
        {  
            int firstUnsorted = array[unsorted];  
            for (index = unsorted - space; (index >= first)   
                  && (firstUnsorted < array[index]); index -= space)  
            {  
                array[index+space] = array[index];  
            }  
            array[index+space] = firstUnsorted;  
        }  
    } 
private static void incrementalInsertionSort(int[] array, int first,
             int last, int space)
 {
  int unsorted, index;
  for (unsorted = first + space; unsorted <= last; unsorted += space)
  {
   int firstUnsorted = array[unsorted];
   for (index = unsorted - space; (index >= first)
         && (firstUnsorted < array[index]); index -= space)
   {
    array[index+space] = array[index];
   }
   array[index+space] = firstUnsorted;
  }
 }
2)設(shè)定索引間距序列(北京北大青鳥(niǎo)校區(qū))
view plaincopy to clipboardprint?
public static void shellSort(int[] array, int first, int last)  
    {  
        int n = last-first + 1;  
        for (int space = n / 2; space > 0; space /= 2)  
        {  
            for (int begin = first; begin < first + space; begin++)  
            {  
                incrementalInsertionSort(array, begin, last, space);  
            }  
        }  
    } 
public static void shellSort(int[] array, int first, int last)
 {
  int n = last-first + 1;
  for (int space = n / 2; space > 0; space /= 2)
  {
   for (int begin = first; begin < first + space; begin++)
   {
    incrementalInsertionSort(array, begin, last, space);
   }
  }
 }
3)測(cè)試(北京北大青鳥(niǎo)校區(qū)
view plaincopy to clipboardprint?
public static void main(String[] args)  
    {  
        // TODO Auto-generated method stub  
        Random random = new Random();  
        final int size = 10;  
        int i;  
        int[] array = new int[size];  
        for (i = 0; i < size; i++)  
        {  
            array[i] = random.nextInt(1000);  
        }  
        System.out.println("排序前數(shù)組");  
        for (i = 0; i < size; i++)  
        {  
            if((i+1) % 20 == 0)  
            {  
                System.out.println();  
            }  
            else 
            {  
                System.out.print(array[i] + "  ");  
            }  
        }  
        shellSort(array,0,size-1);  
        System.out.println("\n排序后數(shù)組");  
        for (i = 0; i < size; i++)  
        {  
            if((i+1) % 20 == 0)  
            {  
                System.out.println();  
            }  
            else 
            {  
                System.out.print(array[i] + "  ");  
            }  
        }  
 
    }

北京北大青鳥(niǎo)校區(qū)

北大青鳥(niǎo)網(wǎng)上報(bào)名
北大青鳥(niǎo)招生簡(jiǎn)章
主站蜘蛛池模板: 国产成人综合亚洲亚洲欧美 | 欧美日本在线视频 | 色综合久久加勒比高清88 | 草草视频在线免费观看 | 日本暖暖视频在线播放 | 亚洲欧美国产高清va在线播放 | 一区二区三区欧美视频 | 日韩国产欧美成人一区二区影院 | 成人午夜亚洲影视在线观看 | 国产欧美精品三区 | 青草福利在线 | 欧美黄色精品 | 丝袜紧身裙国产在线播放 | 欧美午夜网站 | 成人国产三级在线播放 | 久久精品香蕉 | 一级特黄爽大片刺激 | 午夜欧美成人久久久久久 | 日本最色视频 | 国产精品久久久久免费视频 | 九九51精品国产免费看 | 国产女人成人精品视频 | 亚洲天堂最新网址 | 久久99爰这里有精品国产 | www.日本免费| 日韩在线观看中文字幕 | 欧美成人精品动漫在线专区 | 国内真实愉拍系列情侣 | 日本三级香港三级乳网址 | 国产婷婷成人久久av免费高清 | 国产一级毛片视频在线! | 91香焦国产线观看看免费 | 黄色三级三级三级 | 亚洲国产一区在线二区三区 | 欧美日韩精品高清一区二区 | 日韩经典在线观看 | 日本韩国一级毛片中文字幕 | 欧美老头老太做爰xxxx | 在线观看国产精成人品 | 国产99精品一区二区三区免费 | 二区视频在线 |