• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-80  評論-24  文章-0  trackbacks-0
            今天寫寫歸并排序,其實之前做oj題的時候已經寫過好幾次了,記得有道求逆序數的題就是用歸并排序做的,所以對它忘得還不算多,基本做法還是知道的,思想當然是二分,關鍵是merge的過程。
            代碼貼一下,思想就不多說了,再說就說爛了~
             1 /**********************************
             2  * 將a[low] ~ a[mid] 和a[mid + 1] ~ a[high]
             3  * 的元素進行合并
             4  **********************************/
             5 #define MAX 1000
             6 
             7 void merge(int a[], int low, int mid, int high)
             8 {
             9     int b[MAX];
            10     int i = low, j = mid, index = 0;
            11 
            12     while (i < mid && j < high)
            13     {
            14         if (a[i] > a[j])
            15         {
            16             b[index++= a[j++];
            17         }
            18         else
            19         {
            20             b[index++= a[i++];
            21         }
            22     }
            23 
            24     while (i < mid)
            25     {
            26         b[index++= a[i++];
            27     }
            28 
            29     while (j < high)
            30     {
            31         b[index++= a[j++];
            32     }
            33 
            34     memcpy(a + low, b, sizeof(int* index);
            35 }
            36 
            37 void msort(int a[], int low, int high)
            38 {
            39     if (low == high - 1)
            40     {
            41         return;
            42     }
            43     else
            44     {
            45         int mid = (high + low) / 2;
            46         msort(a, low, mid);
            47         msort(a, mid, high);
            48         merge(a, low, mid, high);
            49     }
            50 }
            51 
            52 void merge_sort(int a[], int n)
            53 {
            54     msort(a, 1, n);
            55 }

            posted on 2011-05-01 22:00 myjfm 閱讀(291) 評論(0)  編輯 收藏 引用 所屬分類:
            久久青青草原亚洲av无码app| 99热成人精品免费久久| 综合久久精品色| 久久天天躁狠狠躁夜夜avapp| 久久久亚洲欧洲日产国码aⅴ| 亚洲国产精品久久久久婷婷软件| 久久有码中文字幕| 久久婷婷五月综合色高清| 国产精品欧美亚洲韩国日本久久| 久久se精品一区二区影院| 一本色道久久HEZYO无码| 久久99国产精品成人欧美| 久久无码专区国产精品发布| 国产69精品久久久久9999| 一本一道久久综合狠狠老| 亚洲国产精品无码久久久蜜芽| 国产精久久一区二区三区| 午夜久久久久久禁播电影| 一本色综合久久| 欧美一级久久久久久久大| 51久久夜色精品国产| 狠狠88综合久久久久综合网 | 久久伊人精品青青草原高清| 久久久久亚洲av综合波多野结衣| 精品无码久久久久久久动漫 | 久久91精品国产91久久麻豆| 久久精品极品盛宴观看| 韩国三级中文字幕hd久久精品 | 狠狠色丁香婷婷综合久久来来去| 久久久久亚洲av无码专区| 欧美精品国产综合久久| 狠狠色丁香婷婷久久综合五月| 99久久成人18免费网站| 亚洲国产精品久久| 久久99精品久久久久久水蜜桃| 亚洲国产二区三区久久| 久久亚洲视频| 久久久久久久精品成人热色戒 | 99久久精品国产综合一区| 久久香蕉综合色一综合色88| 国产福利电影一区二区三区,免费久久久久久久精 |