久久久久女教师免费一区-亚洲精品久久-www.com国产-欧美亚洲日本-99热在线免费观看-欧美久久久

北大青鳥北京,通州北大青鳥校區學術部:Java的排序之“希爾排序”

北京北大青鳥通州校區學術部老師講解:什么是希爾排序?

北京北大青鳥專家解答:希爾排序就是對插入排序的優化, 他是把一個待排序的數組分段成有規律的的若干個數組排序,最后在進行總排序來完成排序的目的,

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


(1)將等間距的數組元素按升序排列(北京北大青鳥校區
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)設定索引間距序列(北京北大青鳥校區)
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)測試(北京北大青鳥校區
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("排序前數組");  
        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排序后數組");  
        for (i = 0; i < size; i++)  
        {  
            if((i+1) % 20 == 0)  
            {  
                System.out.println();  
            }  
            else 
            {  
                System.out.print(array[i] + "  ");  
            }  
        }  
 
    }

北京北大青鳥校區

北大青鳥網上報名
北大青鳥招生簡章
主站蜘蛛池模板: 欧美精品v日韩精品v国产精品 | 国产uv1区二区三区 国产va免费精品高清在线观看 | 欧美亚洲日本韩国一级毛片 | 亚洲色色色图 | 深夜国产 | 成人做爰全视频 | 日韩中文字幕精品久久 | 狠狠色丁香婷婷综合小时婷婷 | 欧美性色黄大片www 欧美性色黄大片一级毛片视频 | 国产一久久香蕉国产线看观看 | 91国偷自产一区二区三区 | 亚洲影院在线 | 亚洲一区二区三区久久久久 | 日韩一级a毛片欧美一级 | 成人黄色一级视频 | 亚洲男人天堂网站 | 毛片视频网站在线观看 | 欧美大片aaaa一级毛片 | 国产区精品在线 | 91香蕉国产亚洲一区二区三区 | 欧美日韩精品一区二区三区视频 | 三区在线视频 | 美女色黄网站 | 国产a级一级久久毛片 | 色九九| 美女黄色在线网站大全 | 一级做a爰片久久毛片潮喷 一级做a爰片久久毛片美女 | 黄色成人在线网站 | 韩国美女爽快一级毛片黄 | 亚洲成人免费网站 | 亚洲午夜精品一级在线 | 草草影音 | 一级做性色a爰片久久毛片 一级做性色a爰片久久毛片免费 | 国产三级a三级三级 | 精品久久久久久 | 久青草免费视频手机在线观看 | 国产高清天干天天视频 | 亚洲三级在线免费观看 | 黄色a三级三级三级免费看 黄色a网 | 免费在线一级片 | 国产日韩精品欧美一区视频 |