亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

詳解C++實現的歸并排序算法

2020-02-24 14:25:28
字體:
來源:轉載
供稿:網友

說到歸并排序,其實這在信息奧運會中是經常使用的方法,現在這個也是很多人都喜歡的,想要學習的朋友,就隨武林技術頻道小編來詳解C++實現的歸并排序算法吧!

歸并排序

歸并排序(MERGE-SORT)是建立在歸并操作上的一種有效的排序算法。
該算法是采用分治法(Divide and Conquer)的一個非常典型的應用。將已有序的子序列合并,得到完全有序的序列;
即先使每個子序列有序,再使子序列段間有序。若將兩個有序表合并成一個有序表,稱為二路歸并。

歸并過程

1、比較a[i]和a[j]的大小,若a[i]≤a[j],則將第一個有序表中的元素a[i]復制到temp[k]中,并令i和k分別加上1;
2、否則將第二個有序表中的元素a[j]復制到temp[k]中,并令j和k分別加上1.
3、如此循環下去,直到其中一個有序表取完,然后再將另一個有序表中剩余的元素復制到r中從下標k到下標t的單元。

歸并排序的算法我們通常用遞歸實現,先把待排序區間[first, last]以中點二分,接著把左邊子區間排序,再把右邊子區間排序,最后把左區間和右區間用一次歸并操作合并成有序的區間[first,last]。

歸并操作的工作原理

第一步:申請空間,使其大小為兩個已經排序序列之和,該空間用來存放合并后的序列
第二步:設定兩個指針,最初位置分別為兩個已經排序序列的起始位置
第三步:比較兩個指針所指向的元素,選擇相對小的元素放入到合并空間,并移動指針到下一位置
重復步驟3直到某一指針超出序列尾,將另一序列剩下的所有元素直接復制到合并序列尾。

算法復雜度

時間復雜度為O(nlogn) 這是該算法中最好、最壞和平均的時間性能。
空間復雜度為 O(n)
比較操作的次數介于(nlogn) / 2和nlogn - n + 1。
賦值操作的次數是(2nlogn)。
歸并排序比較占用內存,但卻是一種效率高且穩定的算法。

算法C++代碼

//合并兩個序列void mergeArray(int arr[], int first, int mid, int last, int temp[]){  int i = first;  int j = mid + 1;  int m = mid ;  int n = last;  int k = 0;  while (i <= m && j<=n)  {    if (arr[i] <= arr[j])      temp[k++] = arr[i++];    else      temp[k++] = arr[j++];  }  while (i <= m)    temp[k++] = arr[i++];  while (j <= n)    temp[k++] = arr[j++];  for (i = 0; i < k; i++)    arr[first + i] = temp[i];}void mySort(int arr[], int first, int last, int temp[]){  if (first < last)  {    int mid = (first + last) / 2;    mySort(arr, first, mid, temp);    mySort(arr, mid+1, last, temp);    mergeArray(arr, first, mid, last, temp);  }}bool mergeSort(int arr[], int len){  int*p = new int[len];  if (NULL == p)    return false;  mySort(arr, 0, len - 1, p);  delete[] p;  return true;}

算法測試

#include <iostream>using namespace std;//上述歸并排序源碼int main(){  int arr[] = { 2, 23, 32, 34, 45, 6, 5, 65, 7, 6, 87, 87, 8, 798, 34, 35, 46, 45, 65, 756, 876, 8, 7, 87, 87, 5, 34, 344, 3, 32 };  int len = sizeof(arr) / sizeof(int);  mergeSort(arr, len);  for (int i = 0; i < len; i++)    cout << arr[i] << " ";  cout << endl;  system("pause");}

運行結果:

2 3 5 5 6 6 7 7 8 8 23 32 32 34 34 34 35 45 45 46 65 65 87 87 87 87 344 756 798 876請按任意鍵繼續. . .看了上面的介紹,相信大家對詳解C++實現的歸并排序算法,已經有了自己的認識,武林技術頻道將為大家提供更多的專業知識。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品1234| 国产成人一区二区| 国产精品久久久久久久午夜| xxxxx91麻豆| 亚洲性猛交xxxxwww| 欧美日韩人人澡狠狠躁视频| 欧美大学生性色视频| 亚洲天堂av在线播放| 日韩亚洲欧美中文在线| 国产精品视频在线播放| 日韩在线观看成人| 黄网站色欧美视频| 搡老女人一区二区三区视频tv| 欧美在线播放视频| 日韩精品免费视频| 国产综合福利在线| 欧美精品18videosex性欧美| 亚洲国产精彩中文乱码av在线播放| 精品福利在线观看| 热久久这里只有精品| 中文在线不卡视频| 亚洲老板91色精品久久| 亚洲乱码国产乱码精品精天堂| 欧美日韩国产黄| 色婷婷**av毛片一区| 欧美日韩一区免费| 日韩精品在线免费观看| 日韩h在线观看| 日产日韩在线亚洲欧美| 人人做人人澡人人爽欧美| 亚洲天堂精品在线| 久久久国产精品免费| 色婷婷**av毛片一区| 亚洲欧美日韩中文在线制服| 日本不卡免费高清视频| 欧美黄色片在线观看| 成人在线播放av| 俺去啦;欧美日韩| 日韩欧美黄色动漫| 国产午夜精品全部视频在线播放| 国产成人精品在线视频| 日韩av电影在线免费播放| 欧美黑人又粗大| 欧美在线视频一区| 在线观看日韩专区| 欧美肥臀大乳一区二区免费视频| 伊人成人开心激情综合网| 日韩欧美精品在线观看| 狠狠色香婷婷久久亚洲精品| 欧美激情亚洲综合一区| 欧美风情在线观看| 国产精品一区二区三区在线播放| 日韩成人激情视频| 亚洲男人天堂2023| 日韩精品中文字幕久久臀| 亚洲午夜未删减在线观看| 成人欧美一区二区三区在线湿哒哒| 姬川优奈aav一区二区| 久久精品国产亚洲7777| 成人久久久久爱| 啪一啪鲁一鲁2019在线视频| 性欧美xxxx| 国产精品99久久久久久久久| 国产经典一区二区| 欧美在线xxx| 欧美一级电影久久| 美女久久久久久久久久久| 日韩最新免费不卡| 91久久久久久| 亚洲日本成人女熟在线观看| 日韩精品中文在线观看| 国产999在线| 欧美性猛交xxxx富婆| 91九色单男在线观看| 55夜色66夜色国产精品视频| 中文一区二区视频| 欧美伊久线香蕉线新在线| 精品久久久中文| 91精品国产高清久久久久久久久| 国产精品视频久久久久| 8090成年在线看片午夜| 色播久久人人爽人人爽人人片视av| 国产精品一区二区久久久久| 精品国产91久久久久久老师| 热久久美女精品天天吊色| 中文字幕亚洲欧美一区二区三区| 成人网址在线观看| 欧美wwwxxxx| 亚洲男人第一网站| 18久久久久久| 91在线观看欧美日韩| 亚洲激情视频在线播放| 97久久精品在线| 久久久精品网站| 97成人超碰免| 国产精品久久久久久久久久三级| 久久久久久久久久久久久久久久久久av| 91午夜理伦私人影院| 久久视频免费在线播放| 日韩中文在线中文网在线观看| 在线电影av不卡网址| 国产精品三级美女白浆呻吟| 日韩欧美在线视频日韩欧美在线视频| 亚洲国产成人久久综合| 国产不卡视频在线| 成人黄色午夜影院| 92看片淫黄大片看国产片| 亚洲最大成人在线| 国产精品极品美女在线观看免费| 日本精品久久中文字幕佐佐木| 欧美中文字幕在线播放| 45www国产精品网站| 国产精品久久久久久婷婷天堂| 91爱视频在线| 国产在线一区二区三区| 国产欧美日韩91| 国产精品99久久久久久久久久久久| 在线精品高清中文字幕| 欧美日本高清视频| 精品福利一区二区| 成人妇女淫片aaaa视频| 亚洲精品动漫久久久久| 亚洲欧美一区二区三区情侣bbw| 国产精品免费久久久久影院| 国产精品久久久久久久久男| 欧美久久精品一级黑人c片| 日韩成人久久久| 亚洲人成网站999久久久综合| 成人激情综合网| www.久久草.com| 精品视频久久久久久| 亚洲第一综合天堂另类专| 91精品国产乱码久久久久久久久| 日韩激情视频在线播放| 精品中文字幕在线2019| 亚洲国产欧美久久| 日韩在线观看免费全集电视剧网站| 日韩网站免费观看| 亚洲在线视频观看| 色香阁99久久精品久久久| 国产精品久久久久久久久免费看| 色婷婷综合久久久久| 国产欧美亚洲视频| 欧美风情在线观看| 国产精品jvid在线观看蜜臀| 一区二区三区www| 中文字幕亚洲色图| 欧美精品性视频| 亚洲天堂视频在线观看| 国产精品黄色影片导航在线观看| 成人免费xxxxx在线观看| 亚洲在线视频观看| 中日韩午夜理伦电影免费| 成人精品aaaa网站| 亚洲成人激情小说| 81精品国产乱码久久久久久| 中文字幕久热精品在线视频| 欧美激情啊啊啊| 欧美激情亚洲国产| 欧美性xxxx极品hd欧美风情| 国产主播欧美精品| 欧美重口另类videos人妖| 欧美国产欧美亚洲国产日韩mv天天看完整| 亚洲一区二区自拍|