• <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>

            那誰的技術博客

            感興趣領域:高性能服務器編程,存儲,算法,Linux內核
            隨筆 - 210, 文章 - 0, 評論 - 1183, 引用 - 0
            數據加載中……

            常見排序算法的實現(六)-歸并排序

            歸并排序的算法思想:把待排序序列分成相同大小的兩個部分,依次對這兩部分進行歸并排序,完畢之后再按照順序進行合并.

            //?歸并排序中的合并算法
            void?Merge(int?array[],?int?start,?int?mid,?int?end)
            {
            ????
            int?temp1[10],?temp2[10];
            ????
            int?n1,?n2;
            ????n1?
            =?mid?-?start?+?1;
            ????n2?
            =?end?-?mid;

            ????
            //?拷貝前半部分數組
            ????for?(int?i?=?0;?i?<?n1;?i++)
            ????
            {
            ????????temp1[i]?
            =?array[start?+?i];
            ????}

            ????
            //?拷貝后半部分數組
            ????for?(int?i?=?0;?i?<?n2;?i++)
            ????
            {
            ????????temp2[i]?
            =?array[mid?+?i?+?1];
            ????}

            ????
            //?把后面的元素設置的很大
            ????temp1[n1]?=?temp2[n2]?=?1000;
            ????
            //?逐個掃描兩部分數組然后放到相應的位置去
            ????for?(int?k?=?start,?i?=?0,?j?=?0;?k?<=?end;?k++)
            ????
            {
            ????????
            if?(temp1[i]?<=?temp2[j])
            ????????
            {
            ????????????array[k]?
            =?temp1[i];
            ????????????i
            ++;
            ????????}

            ????????
            else
            ????????
            {
            ????????????array[k]?
            =?temp2[j];
            ????????????j
            ++;
            ????????}

            ????}

            }


            //?歸并排序
            void?MergeSort(int?array[],?int?start,?int?end)
            {
            ????
            if?(start?<?end)
            ????
            {
            ????????
            int?i;
            ????????i?
            =?(end?+?start)?/?2;
            ????????
            //?對前半部分進行排序
            ????????MergeSort(array,?start,?i);
            ????????
            //?對后半部分進行排序
            ????????MergeSort(array,?i?+?1,?end);
            ????????
            //?合并前后兩部分
            ????????Merge(array,?start,?i,?end);
            ????}

            }

            posted on 2006-07-04 01:34 那誰 閱讀(1684) 評論(0)  編輯 收藏 引用 所屬分類: 算法與數據結構

            九九精品久久久久久噜噜| 精品久久久久久无码中文字幕一区 | 漂亮人妻被黑人久久精品| 精品久久久久久久久午夜福利| a高清免费毛片久久| 热久久国产欧美一区二区精品| 精品久久久久久久国产潘金莲| 久久精品亚洲一区二区三区浴池| 精品国产一区二区三区久久| 色婷婷狠狠久久综合五月| 久久精品国产亚洲av水果派| 久久青青草原精品国产软件| 国内精品久久久久久99蜜桃| 久久综合九色综合欧美就去吻| 成人国内精品久久久久一区| 狠狠色丁香久久婷婷综合蜜芽五月 | 色欲久久久天天天综合网精品| 999久久久免费国产精品播放| 欧美精品乱码99久久蜜桃| 日本久久久久久中文字幕| 蜜臀av性久久久久蜜臀aⅴ| 无夜精品久久久久久| 亚洲国产精品一区二区久久| 久久精品国产亚洲AV无码偷窥| 久久天天躁狠狠躁夜夜avapp| 精品久久人人爽天天玩人人妻| 成人免费网站久久久| 国产精品免费福利久久| 色狠狠久久AV五月综合| 2021国产精品久久精品| 亚洲国产成人久久综合一区77| 国产成人香蕉久久久久| 亚洲国产精品人久久| 久久久青草久久久青草| 97久久精品人妻人人搡人人玩 | 久久婷婷色综合一区二区| 久久精品一区二区影院| 欧美久久一区二区三区| 日韩va亚洲va欧美va久久| 国产精品99久久久久久宅男小说| 色青青草原桃花久久综合|