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

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

C++實現自底向上的歸并排序算法

2020-05-23 14:11:43
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了C++實現自底向上的歸并排序算法,結合實例形式較為詳細的分析總結了自底向上的歸并排序算法的原理與具體實現技巧,需要的朋友可以參考下
 

本文實例講述了C++實現自底向上的歸并排序算法。分享給大家供大家參考,具體如下:

一. 算法描述

自底向上的歸并排序:歸并排序主要是完成將若干個有序子序列合并成一個完整的有序子序列;自底向上的排序是歸并排序的一種實現方式,將一個無序的N長數組切個成N個有序子序列,然后再兩兩合并,然后再將合并后的N/2(或者N/2 + 1)個子序列繼續進行兩兩合并,以此類推得到一個完整的有序數組。下圖詳細的分解了自底向上的合并算法的實現過程:

C++實現自底向上的歸并排序算法

二. 算法實現

/*=============================================================================##   FileName:  mergeSort.c#   Algorithm: 歸并排序(自底向上)#   Author:   Knife#   Created:  2014-06-14 16:40:02#=============================================================================*/#include<stdio.h>#include<stdlib.h>void merge_sort(int* intArr, int intArr_len);void merge_array(int* intArr1, int len1, int* intArr2, int len2);void main(){  int intArr[] = {8,3,6,4,2,9,5,4,1,7};  int n = sizeof (intArr) / sizeof (intArr[0]);  int i = 0;  merge_sort(intArr, n);  for(;i<n;i++){    printf("%d ",intArr[i]);  }  printf("/n");}//歸并排序(自底向上)void merge_sort(int* intArr, int intArr_len){  int len = 1;  int k = 0;  while (len < intArr_len) {     int i = 0;     for (; i + 2*len <= intArr_len; i += 2*len){      int* intArr1 = intArr + i;      int intArr1_len = len;      int* intArr2 = intArr + i + len;      int intArr2_len = len;      merge_array(intArr1, intArr1_len, intArr2, intArr2_len);     }    if (i + len <= intArr_len){       int* intArr1 = intArr + i;      int intArr1_len = len;      int* intArr2 = intArr + i + len;      int intArr2_len = intArr_len - i - len;      merge_array( intArr1, intArr1_len, intArr2, intArr2_len);     }    len *= 2;  //有序子序列長度*2   } }//合并兩個數組,并排序void merge_array(int* intArr1, int len1, int* intArr2, int len2){  //申請分配空間  int* list = (int*) malloc((len1+len2) * sizeof (int));  int i = 0, j = 0, k = 0;  while(i < len1 && j < len2){     // 把較小的那個數據放到結果數組里, 同時移動指針    list[k++] = (intArr1[i] < intArr2[j]) ? intArr1[i++] : intArr2[j++];  }  // 如果 intArr1 還有元素,把剩下的數據直接放到結果數組  while(i < len1){    list[k++] = intArr1[i++];  }  // 如果 intArr2 還有元素,把剩下的數據直接放到結果數組  while(j < len2){    list[k++] = intArr2[j++];  }   // 把結果數組 copy 到 intArr1 里  for(i = 0; i < k; i++){    intArr1[i] = list[i];  }  //釋放申請的空間  free(list);}

三. 算法分析

平均時間復雜度:O(nlog2n)
空間復雜度:O(n)  (用于存儲有序子序列合并后有序序列)
穩定性:穩定

希望本文所述對大家C++程序設計有所幫助。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕亚洲欧美| 日韩在线观看免费高清完整版| 欧美猛少妇色xxxxx| 欧美一级淫片播放口| 欧美丰满老妇厨房牲生活| 亚洲精品视频久久| 日韩午夜在线视频| 国产日韩精品在线观看| 欧美黄色www| 久久久久久久久爱| 日韩av一区在线观看| 亚洲四色影视在线观看| 国产色综合天天综合网| 最近2019中文字幕一页二页| 国产91精品高潮白浆喷水| 亚洲人成毛片在线播放| 欧美日韩在线视频观看| 日韩网站免费观看高清| 亚洲香蕉伊综合在人在线视看| 成人观看高清在线观看免费| 久久久精品视频成人| 亚洲欧洲在线免费| 日韩欧美国产成人| 日韩成人xxxx| 久久中文字幕在线视频| 日韩欧美一区二区三区久久| 国产精品午夜国产小视频| 91久久中文字幕| 国产精品偷伦视频免费观看国产| 国产视频亚洲视频| 久久免费精品日本久久中文字幕| 欧美洲成人男女午夜视频| 亚洲精品日韩在线| 亚洲精品一区久久久久久| 亚洲自拍欧美色图| 俺去亚洲欧洲欧美日韩| 久久久亚洲精选| 欧美精品www| 国产精品视频999| 欧美理论电影在线观看| 伊人久久免费视频| 久久久久久久影院| 成人a免费视频| 国产亚洲精品久久| 欧美大成色www永久网站婷| 成人免费观看49www在线观看| 最近更新的2019中文字幕| 欧美激情一区二区三区久久久| 亚洲网在线观看| 亚洲色在线视频| 国产精品日日摸夜夜添夜夜av| 中文字幕一区电影| 国产成人一区二区三区| 欧美国产日韩一区二区在线观看| 亚洲精品日韩激情在线电影| 91精品久久久久久久久| 91精品国产高清久久久久久91| 欧美肥臀大乳一区二区免费视频| 亚洲精品国产精品国自产在线| 欧美高清激情视频| 亚洲男人第一av网站| 午夜精品一区二区三区在线播放| 日韩在线小视频| 欧美精品www在线观看| 欧美午夜女人视频在线| 亚洲视频在线观看免费| 色先锋资源久久综合5566| 日本a级片电影一区二区| 77777少妇光屁股久久一区| 国产精品wwwwww| 国产精品老女人精品视频| 国产一区二区三区在线观看网站| 性金发美女69hd大尺寸| 一个色综合导航| 国产精品热视频| 91精品国产高清久久久久久91| 欧美最猛性xxxxx亚洲精品| 成人日韩av在线| 国产精品极品美女在线观看免费| 国产精品美女视频网站| 97香蕉久久夜色精品国产| 国产一区二区欧美日韩| 欧美影院在线播放| 亚洲男人天堂古典| 中文字幕亚洲欧美日韩2019| 国产欧美精品在线| 久久伊人色综合| 久久久久女教师免费一区| 91久久久精品| 亚洲欧美日韩在线一区| 亚洲激情 国产| 在线电影欧美日韩一区二区私密| 日韩欧美在线国产| 亚洲免费电影在线观看| 亚洲成色777777在线观看影院| 国产成人亚洲综合91精品| 日韩色av导航| 国产精品福利在线观看| 亚洲老头同性xxxxx| 国产+人+亚洲| 国产精品一二三视频| 国产精品久久久久久av福利软件| 青青草一区二区| www.久久草.com| 久久久久久网址| 国产精品免费观看在线| 欧美激情在线视频二区| 欧美一级视频在线观看| 亚洲综合一区二区不卡| 亚洲精品免费av| 午夜精品久久久久久久男人的天堂| 成人免费xxxxx在线观看| 国内精品小视频在线观看| 国产精品美女在线观看| 欧美激情亚洲自拍| 国产香蕉一区二区三区在线视频| 一本色道久久88综合亚洲精品ⅰ| 成人免费大片黄在线播放| 日韩av在线一区二区| 91欧美精品午夜性色福利在线| 亚洲老板91色精品久久| 自拍偷拍亚洲区| 中文字幕不卡av| 国产精品自拍偷拍| 亚洲成人黄色在线| 亚洲天堂久久av| 日本精品性网站在线观看| 国产日韩在线精品av| 久久久久久亚洲精品中文字幕| 国产精品视频1区| 青草热久免费精品视频| 亚洲精品wwwww| 欧美国产欧美亚洲国产日韩mv天天看完整| 国产精品美女午夜av| 亚洲图片在线综合| 久久久久免费视频| 中文字幕精品—区二区| 91精品国产色综合久久不卡98口| 色偷偷av一区二区三区乱| 91精品久久久久久久久久久| 欧美一级淫片丝袜脚交| 国产日本欧美在线观看| 国产精品1区2区在线观看| 北条麻妃久久精品| 亚洲精品中文字| 欧美做受高潮1| 欧美精品在线第一页| 日韩欧美高清在线视频| 欧美在线激情视频| 国内伊人久久久久久网站视频| 国产91露脸中文字幕在线| 欧美日韩国产二区| 狠狠躁夜夜躁久久躁别揉| 日韩电影第一页| 亚洲精品在线91| 亚洲激情免费观看| 清纯唯美亚洲激情| 国产精品成人v| 国产精品96久久久久久| 91精品国产综合久久久久久蜜臀| 66m—66摸成人免费视频| 国产亚洲欧美另类中文| 日韩av综合网站| 热门国产精品亚洲第一区在线|