• <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 閱讀(281) 評論(0)  編輯 收藏 引用 所屬分類:
            久久精品麻豆日日躁夜夜躁| 99久久免费国产精品热| 色婷婷综合久久久久中文| 亚洲精品乱码久久久久久| 亚洲伊人久久精品影院| 久久99国产综合精品免费| 国产午夜免费高清久久影院| 久久精品国产99国产精偷 | 久久精品国产亚洲av麻豆图片| 久久精品国产只有精品66| 久久久免费观成人影院| 中文字幕久久波多野结衣av| 国产高潮国产高潮久久久| 国产午夜精品久久久久九九电影| 九九精品久久久久久噜噜| 99国产精品久久久久久久成人热| 精品久久人人妻人人做精品| 无码人妻久久一区二区三区蜜桃| 精品无码久久久久国产| 亚洲国产精品无码久久青草| 91精品国产高清久久久久久io| 久久黄视频| 俺来也俺去啦久久综合网| 日本亚洲色大成网站WWW久久| 久久人人爽人人爽人人片AV不 | 97精品国产97久久久久久免费| 久久婷婷五月综合成人D啪 | 日韩一区二区久久久久久| 欧美亚洲国产精品久久久久| 久久久九九有精品国产| 亚洲国产精品久久久天堂| 久久久精品久久久久久 | 久久人妻少妇嫩草AV无码蜜桃| 久久夜色精品国产欧美乱| 亚洲精品成人久久久| 久久精品国产精品亜洲毛片| 久久精品九九亚洲精品天堂 | 思思久久99热只有频精品66| 国内精品免费久久影院| 久久久91精品国产一区二区三区| 国产精品对白刺激久久久|