最新合并排序c++代码模板

无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。范文怎么写才能发挥它最大的作用呢?接下来小编就给大家介绍一下优秀的范文该怎么写,我们一起来看一看吧。

合并排序c++代码篇一

归并排序也称合并排序,其算法思想是将待排序序列分为两部分,依次对分得的两个部分再次使用归并排序,之后再对其进行合并。下面是小编分享的c语言合并排序及实例代码,一起来看一下吧。

合并排序仅从算法思想上了解归并排序会觉得很抽象,接下来就以对序列a[0], a[l]…, a[n-1]进行升序排列来进行讲解,在此采用自顶向下的实现方法

(1)将所要进行的排序序列分为左右两个部分,如果要进行排序的序列的起始元素下标为first,最后一个元素的下标为last,那么左右两部分之间的临界点下标mid=(first+last)/2,这两部分分别是a[first … mid]和a[mid+1 … last]。

(2)将上面所分得的.两部分序列继续按照步骤(1)继续进行划分,直到划分的区间长度为1。

(3)将划分结束后的序列进行归并排序,排序方法为对所分的n个子序列进行两两合并,得到n/2或n/2+l个含有两个元素的子序列,再对得到的子序列进行合并,直至得到一个长度为n的有序序列为止。

#include

#include

#define n 7

void merge(int arr[], int low, int mid, int high){

int i, k;

int *tmp = (int *)malloc((high-low+1)*sizeof(int));

//申请空间,使其大小为两个

int left_low = low;

int left_high = mid;

int right_low = mid + 1;

int right_high = high;

for(k=0; left_low<=left_high && right_low<=right_high; k++){ // 比较两个指针所指向的元素

if(arr[left_low]<=arr[right_low]){

tmp[k] = arr[left_low++];

}else{

tmp[k] = arr[right_low++];

}

}

if(left_low <= left_high){ //若第一个序列有剩余,直接复制出来粘到合并序列尾

//memcpy(tmp+k, arr+left_low, (left_high-left_low+l)*sizeof(int));

for(i=left_low;i<=left_high;i++)

tmp[k++] = arr[i];

}

if(right_low <= right_high){

//若第二个序列有剩余,直接复制出来粘到合并序列尾

//memcpy(tmp+k, arr+right_low, (right_high-right_low+1)*sizeof(int));

for(i=right_low; i<=right_high; i++)

tmp[k++] = arr[i];

}

for(i=0; i

arr[low+i] = tmp[i];

free(tmp);

return;

}

void merge_sort(int arr[], unsigned int first, unsigned int last){

int mid = 0;

if(first

mid = (first+last)/2; /* 注意防止溢出 */

/*mid = first/2 + last/2;*/

//mid = (first & last) + ((first ^ last) >> 1);

merge_sort(arr, first, mid);

merge_sort(arr, mid+1,last);

merge(arr,first,mid,last);

}

return;

}

int main(){

int i;

int a[n]={32,12,56,78,76,45,36};

printf ("排序前 ");

for(i=0;i

printf("%d ",a[i]);

merge_sort(a,0,n-1); // 排序

printf (" 排序后 ");

for(i=0;i

printf("%d ",a[i]); printf(" ");

system("pause");

return 0;

}

排序前

32 12 56 78 76 45 36

排序后

12 32 36 45 56 76 78

分析上面的运行结果,通过归并排序成功地实现了对给定序列的排序操作。接下来通过图来了解归并排序的具体操作流程。

在下图先对所要进行排序的序列进行分解,直到分为单个元素为止,然后将其进行两两合并。由于最终分解成单个元素,因此在合并的时候.将小数放在前面,大数放在后面,得到一个有序序列。接下来对两个相连的有序序列进行排序,先比较有序序列中的第一个元素,将较小的元素放入临时数组中,接着将较小元素所在数组的下一个元素与另一个数组中的较小元素比较,同样将较小元素放入临时数组中,依次进行,直到两个数组的所有元素都放入临时数组中,最后再将临时数组的元素放入原始数组中的对应位置。

以上就是对合并排序的详细讲解,希望对你有帮助。

s("content_relate");

【c语言合并排序及实例代码】相关文章:

c语言合并排序及实例代码讲解

10-04

c语言插入排序算法及实例代码

10-08

c语言奇偶排序算法详解及实例代码

10-04

c语言快速排序算法及代码

10-06

c语言冒泡排序算法实例

11-21

c语言文件操作解析详解及实例代码

10-03

c语言中qsort快速排序使用实例

10-03

桶排序算法的理解及c语言版代码示例

10-04

c语言实现归并排序算法实例

11-21

c语言中使用快速排序算法对元素排序的实例

10-02

猜你感兴趣
最新合并排序c++代码模板

最新合并排序c++代码模板

无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。范文怎么写才能发挥它最大的作用呢?接下来小编就给大家介绍一下优秀的范文该怎么写,我们一起来看一看吧。合并排序c++代码篇一 归并排序也称合并排序,其算法思...

其他范文 2024-05-11
最新php经典面试题目答案 php面试题汇总

最新php经典面试题目答案 php面试题汇总

范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。那么我们该如何写一篇较为完美的范文呢?下面是小编为大家收集的优秀范文,供大家参考借鉴,希望可以帮助到有需要的朋友。最新php经典面试...

其他范文 2024-05-11
最新驾照考试速记方法图片模板

最新驾照考试速记方法图片模板

每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?下面是小编为大家收集的优秀范文,供大家参考借鉴,希望可以帮助到有需要的朋友。驾照考试...

其他范文 2024-05-11
2024年新手驾车注意事项图片模板

2024年新手驾车注意事项图片模板

在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。相信许多人会觉得范文很难写?下面是小编帮大家整理的优质范文,仅供参考,大家一起来看看吧。新手驾车注意事项图片篇一 1、变更车道前,首...

其他范文 2024-05-11
2024年简短的导游欢迎词通用

2024年简短的导游欢迎词通用

在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?下面是小编帮大家整理的优质范文,仅供参考,大家一起来看看吧。简短的导游欢迎词篇一...

其他范文 2024-05-11
最新夫子庙导游词200字优质

最新夫子庙导游词200字优质

无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。那么我们该如何写一篇较为完美的范文呢?接下来小编就给大家介绍一下优秀的范文该怎么写,我们一起来看一看吧。夫子庙导游词200字篇一 引导语:夫子庙(英文名:...

其他范文 2024-05-11
最新高考倒计时桌面软件汇总

最新高考倒计时桌面软件汇总

无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?以下是我为大家搜集的优质范文,仅供参考,一起来看看吧高考倒计时桌面软件篇一 2017年高考马上就要来了,...

其他范文 2024-05-11
最新工程质量保证承诺书优质

最新工程质量保证承诺书优质

每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。那么我们该如何写一篇较为完美的范文呢?下面我给大家整理了一些优秀范文,希望能够帮助到大家,我们一起来看一看吧。工程质量保证承诺书篇一发...

其他范文 2024-05-11
2024年科目三考试内容及合格标准以及注意事项大全

2024年科目三考试内容及合格标准以及注意事项大全

人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。那么我们该如何写一篇较为完美的范文呢?下面我给大家整理了一些优秀范文,希望能够帮助到大家,我们一起来看一看吧。科目三考试内容...

其他范文 2024-05-11
最新天津高考时间是6月几号模板

最新天津高考时间是6月几号模板

范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。大家想知道怎么样才能写一篇比较优质的范文吗?以下是小编为大家收集的优秀范文,欢迎大家分享阅读。天津高考时间是6月几号篇一14.全国统...

其他范文 2024-05-11
美国留学的优势数据 美国留学现状分析汇总

美国留学的优势数据 美国留学现状分析汇总

在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。那么我们该如何写一篇较为完美的范文呢?以下是我为大家搜集的优质范文,仅供参考,一起来看看吧美国留学的优势数据 美国留学现状分析篇一趋势 2 : 留学低龄化趋势发展进一步加剧,家长选校更趋...

其他范文 2024-05-11
科学健身主题的宣传活动方案通用

科学健身主题的宣传活动方案通用

方案是从目的、要求、方式、方法、进度等都部署具体、周密,并有很强可操作性的计划。方案书写有哪些要求呢?我们怎样才能写好一篇方案呢?以下就是小编给大家讲解介绍的相关方案了,希望能够帮助到大家。科学健身主题的宣传活动方案篇一县卫生计生委宣传科联...

其他范文 2024-05-11
麦克马斯特大学商学院怎么样 麦克马斯特大学热门专业实用

麦克马斯特大学商学院怎么样 麦克马斯特大学热门专业实用

人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。那么我们该如何写一篇较为完美的范文呢?这里我整理了一些优秀的范文,希望对大家有所帮助,下面我们就来了解一下吧。麦克马斯特大学...

其他范文 2024-05-11
青春正能量励志语录200句 青春正能量励志语录长句三篇(模板)

青春正能量励志语录200句 青春正能量励志语录长句三篇(模板)

在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?下面是小编帮大家整理的优质范文,仅供参考,大家一起来看看吧。青春正能量励志语录20...

其他范文 2024-05-11
最新《宝葫芦的秘密》读后感300字优质

最新《宝葫芦的秘密》读后感300字优质

当观看完一部作品后,一定有不少感悟吧,这时候十分有必须要写一篇读后感了!读后感对于我们来说是非常有帮助的,那么我们该如何写好一篇读后感呢?下面我给大家整理了一些优秀的读后感范文,希望能够帮助到大家,我们一起来看一看吧。《宝葫芦的秘密》读后感...

其他范文 2024-05-11
2024年桂花蜜豆腐脑优质

2024年桂花蜜豆腐脑优质

无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。相信许多人会觉得范文很难写?接下来小编就给大家介绍一下优秀的范文该怎么写,我们一起来看一看吧。桂花蜜豆腐脑篇一辅料:内酯豆腐80克调料:糖桂花1勺,蜂蜜3...

其他范文 2024-05-11
2024年格林童话没有手的女孩原版模板

2024年格林童话没有手的女孩原版模板

在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。大家想知道怎么样才能写一篇比较优质的范文吗?以下是我为大家搜集的优质范文,仅供参考,一起来看看吧格林童话没有手的女孩原版篇一有一天,他到森林里去砍柴,一个他从没见过的老头走近前来对他说:...

其他范文 2024-05-11
最新3.12植树节的手 抄报精选

最新3.12植树节的手 抄报精选

范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。那么我们该如何写一篇较为完美的范文呢?下面是小编帮大家整理的优质范文,仅供参考,大家一起来看看吧。3.12植树节的手 抄报篇一每年的...

其他范文 2024-05-11
最新上海春考折合合格考模板

最新上海春考折合合格考模板

每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。写范文的时候需要注意什么呢?有哪些格式需要注意呢?以下是我为大家搜集的优质范文,仅供参考,一起来看看吧上海春考折合合格考篇一2.考生应...

其他范文 2024-05-11
最新合肥财经职业学院招生办 合肥财经职业技术学院招生电话大全

最新合肥财经职业学院招生办 合肥财经职业技术学院招生电话大全

范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。相信许多人会觉得范文很难写?接下来小编就给大家介绍一下优秀的范文该怎么写,我们一起来看一看吧。合肥财经职业学院招生办 合肥财经职业技...

其他范文 2024-05-11