2015年大二上-数据结构-内部排序-(7)-归并排序
来源:互联网 发布:cad数控编程软件 编辑:程序博客网 时间:2024/06/05 09:20
/**Copyright (c) 2014,烟台大学计算机学院*All rights reserved.*文件名称:Annpion.cpp*作者:王耀鹏*完成日期:2016年3月30日*版本号:v1.0**问题描述:归并排序*输入描述:待排序数组*输出描述:归并排序*/#include <stdio.h>#include <malloc.h>#define MaxSize 100typedef int KeyType;typedef char InfoType[10];typedef struct{ KeyType key; InfoType data;} RecType;void Merge(RecType R[],int low,int mid,int high){ RecType *R1; int i=low,j=mid+1,k=0; R1=(RecType *)malloc((high-low+1)*sizeof(RecType)); while(i<=mid && j<=high) { if(R[i].key<=R[j].key) R1[k++]=R[i++]; else R1[k++]=R[j++]; } while(i<=mid) R1[k++]=R[i++]; while(j<=high) R1[k++]=R[j++]; for(k=0,i=low; i<=high; ++i,++k) R[i]=R1[k];}void MergePass(RecType R[],int length,int n){ int i; for(i=0; i+2*length-1<n; i+=2*length) Merge(R,i,i+length-1,i+2*length-1); if(i+length-1<n) Merge(R,i,i+length-1,n-1);}void MergeSort(RecType R[],int n){ int length; for(length=1; length<n; length*=2) MergePass(R,length,n);}int main(){ int i,n=10; RecType R[MaxSize]; KeyType a[]= {6,8,7,9,0,1,3,2,4,5}; for (i=0; i<n; i++) R[i].key=a[i]; printf("排序前:"); for (i=0; i<n; i++) printf("%d ",R[i].key); printf("\n"); MergeSort(R,n); printf("排序后:"); for (i=0; i<n; i++) printf("%d ",R[i].key); printf("\n"); return 0;}
运行结果:
0 0
- 2015年大二上-数据结构-内部排序-(7)-归并排序
- 2015年大二上-数据结构-内部排序-(2)-希尔排序
- 2015年大二上-数据结构-内部排序-(3)-冒泡排序
- 2015年大二上-数据结构-内部排序-(4)-快速排序
- 2015年大二上-数据结构-内部排序-(6)-堆排序
- 2015年大二上-数据结构-内部排序-(8)-基数排序
- 2015年大二上-数据结构-内部排序-(1)-直接插入排序
- 2015年大二上-数据结构-内部排序-(5)-直接选择排序
- 2015年大二上-数据结构-图-2-(5)-拓扑排序
- #大二上数据结构#排序+链表
- 图解"数据结构--内部排序算法"----归并排序
- C++代码,数据结构-内部排序-选择排序-归并排序
- 2015年大二上-数据结构-查找-1-(4)-二叉树排序树中查找的路径
- 数据结构 排序 归并排序
- 【数据结构】:排序--归并排序
- 数据结构排序--归并排序
- 内部排序之归并排序
- 八大内部排序 -- 归并排序
- 2015年大二上-数据结构-内部排序-(6)-堆排序
- 数据科学系列读书笔记
- Cocos2d-x各版本项目的配置与创建汇总贴
- Measure测量实际应用心得(一)
- 把mp3分成n份之后合并
- 2015年大二上-数据结构-内部排序-(7)-归并排序
- [从头学数学] 第158节 反比例函数
- 2015年大二上-数据结构-内部排序-(8)-基数排序
- ctf训练营 包罗万象
- Android 第九天重置版_Contentprovider
- Android 第九天重置版_Contentprovider_注意事项
- Android推送技术研究
- mysql ERROR 1138: Invalid use of NULL value
- 占坑补题。。最近占的坑有点多。。。