日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

MergeSort(合并排序)

發(fā)布時(shí)間:2023/12/31 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MergeSort(合并排序) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

mergeSort的關(guān)鍵是 merge。但是一個(gè)數(shù)組怎么來(lái)merge?所以,它是分兩步走的,首先它要把所給的數(shù)組分割開來(lái),然后對(duì)分割開來(lái)的子數(shù)組進(jìn)行合并。之前我們講過(guò)快排也要分割數(shù)組,但是這里的分割數(shù)組相對(duì)簡(jiǎn)單。重點(diǎn)是如何將分割開來(lái)的數(shù)組合并起來(lái)

?先上圖,看圖比較容易理解:

MergeSort過(guò)程分析

經(jīng)過(guò)我們的演示可以發(fā)現(xiàn),我們的合并是沿著當(dāng)初分割的原路合并的,在合并的時(shí)候?qū)⒃氐拇笮№樞蚺藕?/span>。

  • 將數(shù)組從中間分開得到新的兩子數(shù)組,對(duì)子數(shù)組重復(fù)進(jìn)行分割操作,直至子數(shù)組足夠小(數(shù)組大小為1)。然后原路合并操作。
  • 當(dāng)需要合并的兩個(gè)子數(shù)組都只有一個(gè)元素時(shí),比較大小,誰(shuí)小誰(shuí)在前,誰(shuí)大誰(shuí)在后,合并成一個(gè)新的數(shù)組
  • 當(dāng)需要合并的兩個(gè)子數(shù)組元素大于1 時(shí),
    • 假如兩個(gè)子數(shù)組為left[i] , right[j]
    • 先使用兩個(gè)數(shù)組的第一個(gè)元素比較大小,例如left[0]和right[0]比較大小,如果left[0]<=right[0],則在組成新數(shù)組時(shí),left[0]為新數(shù)組的第一個(gè)元素;right[0]再和left[1]比較大小。如此進(jìn)行下去
    • 如過(guò)left[] 的元素已經(jīng)全部假如新的數(shù)組,而right[]還沒有全部假如新數(shù)組,則之間將right[]的剩余元素按其本身的順序關(guān)系添加到新數(shù)組后面即可
    • ?

    ? ? 4.重復(fù)合并操作,直至重新生成的數(shù)組和數(shù)組大小一樣,MergeSort結(jié)束。

    代碼演示

    #include <stdio.h> #include <iostream>using namespace std; void merge(int arr[], int left,int mid, int right){int size_l = mid-left+1;int size_r = right- mid;int subArrLeft[size_l],subArrRight[size_r];for(int index = 0;index < size_l;index++){subArrLeft[index] = arr[left + index];}for(int index = 0;index < size_r;index++){subArrRight[index] = arr[mid + 1 + index];}int i = 0, j = 0;int k = left;// 按順序合并兩個(gè)子數(shù)組while (i < size_l && j < size_r){if(subArrLeft[i]<=subArrRight[j]){arr[k] = subArrLeft[i];i++;}else{arr[k] = subArrRight[j];j++;}k++;}// 如果比較的連個(gè)子數(shù)組中一個(gè)已經(jīng)為空,另一個(gè)還有剩余元素,則直接追加到合并數(shù)組的后面while (i < size_l){arr[k] = subArrLeft[i];i++;k++;}while (j < size_r){arr[k] = subArrRight[j];j++;k++;} }void mergeSort(int arr[], int left, int right){if(left < right){int mid = left +(right -left)/2;mergeSort(arr,left,mid); // 對(duì)左半邊數(shù)組做合并排序mergeSort(arr,mid+1,right); // 對(duì)右半邊數(shù)組做合并排序merge(arr,left,mid,right); // 對(duì)分開的數(shù)組進(jìn)行合并操作} }void printArray(int arr[], int size) {int i;for (i = 0; i < size; i++) cout << arr[i] << " ";cout << endl; } int main() {int arr[] = {10, 7, 82, 9, 13, 5, 2, 34, 54, 3, 26, 6, 37, 6, 48, 11};int arrSize = sizeof(arr)/sizeof(arr[0]);cout << "perpare sort array is "<<endl;printArray(arr, arrSize);mergeSort(arr, 0, arrSize - 1);cout<<"MergeSorted array is "<<endl;printArray(arr, arrSize);return 0; }

    代碼關(guān)鍵就在merge()函數(shù).

    運(yùn)行結(jié)果

    ?

    總結(jié)

    以上是生活随笔為你收集整理的MergeSort(合并排序)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 美女一区二区视频 | 日本毛片网站 | 色吊丝av中文字幕 | 阿娇全套94张未删图久久 | 亚洲第8页| 性福利视频 | 色婷婷综合久久久久中文字幕 | 国产精品图片 | 国产三级成人 | 欧美精品一区二区免费 | 在线观看日韩av电影 | 正在播放老肥熟妇露脸 | 国产精品国产精品国产 | 天天插天天狠 | 国产一区日韩 | 久久99日| 99精品久久久 | 亚洲第六页| 狠狠狠狠干 | a级黄色片网站 | 国产无套丰满白嫩对白 | 欧美日本韩国一区二区三区 | 青青99| 调教丰满的已婚少妇在线观看 | 亚欧视频在线观看 | 99亚洲视频 | 日韩国产一区二区三区 | 激情青青草 | 国产日本在线播放 | 中文字幕一区二区三区四区不卡 | 一级在线视频 | 村上凉子av | 91原视频 | 一区二区三区在线免费视频 | 十八禁视频网站在线观看 | 里番精品3d一二三区 | 污视频网址 | 欧美日韩一卡 | jizzjizz亚洲 | 98久久久| 国产精品无码久久久久久电影 | 国产亚洲精品久久久久四川人 | 在线精品亚洲欧美日韩国产 | 日日撸夜夜操 | 午夜老湿机| 亚洲综合在线成人 | 伊人久久久久久久久久久久久 | 本道综合精品 | jizzzxxxx| 国产理论片在线观看 | 黄wwwww| 日韩女优网站 | 久久网一区二区 | 日韩精品电影一区二区三区 | www三级免费| 亚洲午夜精品久久久久久人妖 | 国产suv精品一区二区883 | 男人天堂资源 | 日韩一级免费片 | 99re这里都是精品 | 国产理论影院 | 国产精品久久久久久久9999 | 国产视频不卡 | 在线免费观看的av | 天天视频黄色 | 国产激情综合 | av作品在线 | 亚洲一区二区黄色 | 17c精品麻豆一区二区免费 | 日韩精品一区二区三区电影 | 日韩av一级 | 国产黑丝在线 | 91亚洲国产成人久久精品麻豆 | 国产精品久久久久久久久久久久久久久 | 欧美疯狂做受xxxxx高潮 | 亚洲综合福利 | 成人小说亚洲一区二区三区 | 欧美成人猛片aaaaaaa | 欧美人与性动交a欧美精品 日韩免费高清视频 | 亚洲人人人 | 国产视频aaa| 久久不射视频 | 国产亚洲二区 | 成人av一级 | 午夜老湿机| 不卡视频一区二区三区 | 少妇高潮久久久久久潘金莲 | 欧美日韩精品中文字幕 | 欧洲色av| 中文字幕精品在线观看 | 超碰天天操 | 日韩福利在线观看 | av观看网 | 中文字幕在线国产 | 日本成人在线免费视频 | 国模吧一区二区三区 | 国产成人精品无码免费看81 | 操丰满女人 | 美美女高清毛片视频免费观看 |