• <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 閱讀(273) 評論(0)  編輯 收藏 引用 所屬分類:
            久久精品aⅴ无码中文字字幕不卡| 88久久精品无码一区二区毛片 | 欧美亚洲国产精品久久久久| 国内精品伊人久久久影院| 久久久久成人精品无码中文字幕 | 狠狠色伊人久久精品综合网 | 亚洲精品高清一二区久久| 午夜人妻久久久久久久久| 91精品国产91久久久久久| 亚洲国产精品无码久久久秋霞2 | 久久久av波多野一区二区| 久久久久国产精品嫩草影院| 久久亚洲AV成人无码国产| 亚洲国产综合久久天堂| 99久久中文字幕| 久久久久久曰本AV免费免费| 国产精品久久久天天影视香蕉| 无码精品久久久天天影视| 亚洲精品综合久久| 99久久国产综合精品成人影院| 熟妇人妻久久中文字幕| 一级a性色生活片久久无少妇一级婬片免费放 | 亚洲人成网亚洲欧洲无码久久| 国产午夜精品久久久久九九| 久久久久人妻精品一区二区三区| 亚洲国产综合久久天堂| 久久久久亚洲AV成人网人人网站| 亚洲午夜精品久久久久久人妖| 久久亚洲AV成人无码国产| 亚洲综合伊人久久综合| 久久99精品久久久大学生| 久久无码高潮喷水| 久久WWW免费人成一看片| 日韩十八禁一区二区久久| 免费精品久久久久久中文字幕| 91精品国产91久久久久久青草| 国内精品久久国产大陆| 伊人久久大香线蕉精品| 99久久精品这里只有精品| 精品久久久久久久久久中文字幕| 久久99精品久久久久久水蜜桃|