• <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不变影院| 久久香蕉超碰97国产精品| 国产成人久久精品二区三区| 久久综合九色综合久99| 99精品国产99久久久久久97| 美女写真久久影院| 午夜精品久久久久久中宇| 亚洲国产精品婷婷久久| 久久夜色精品国产亚洲| 91精品国产高清久久久久久国产嫩草| 久久国产香蕉一区精品| 国产91久久精品一区二区| 尹人香蕉久久99天天拍| 99久久精品免费看国产免费| 亚洲国产精品18久久久久久| 久久精品免费网站网| 久久99国产精品一区二区| 亚洲精品无码久久久久sm| 午夜精品久久久内射近拍高清 | 精品99久久aaa一级毛片| 午夜人妻久久久久久久久| 亚洲国产成人久久综合区| 精品久久国产一区二区三区香蕉 | 久久久久亚洲av综合波多野结衣| 99久久伊人精品综合观看| 精品综合久久久久久97超人 | 久久综合综合久久97色| 久久久久亚洲Av无码专| 亚洲AV无码久久| 亚洲国产精品一区二区久久hs| 狠狠色丁香婷婷久久综合| 欧美成人免费观看久久| 尹人香蕉久久99天天拍| 久久久午夜精品福利内容| 国产精品成人久久久| 久久99久国产麻精品66| 亚洲人成网亚洲欧洲无码久久| 伊人久久大香线蕉综合Av| 中文字幕久久久久人妻| 日产精品99久久久久久| www久久久天天com|