囧...2路归并排序..
来源:互联网 发布:中国人的乡土情结 知乎 编辑:程序博客网 时间:2024/05/29 16:38
就是一个极其基础的排序..
- #include "iostream"
- using namespace std;
- void MergeSort(int *a,int *b){
- if(b-a>1){//还可以继续分割
- int *m=a+(b-a)/2;
- MergeSort(a,m);//对前一个区间进行排序
- MergeSort(m,b);//对后一个区间进行派序
- int *i=a,*j=m;
- int *temp=new int[b-a];
- int *t=temp;
- //将两子区间的内容暂存到动态分配的内存中合并
- while(i!=m && j!=b){
- if(*i < *j){*t = *i; ++i; ++t;}
- else{ *t = *j; ++j; ++t;}
- }
- while(i!=m){ *t = *i; ++i; ++t;}
- while(j!=b){ *t = *j; ++j; ++t;}
- for(t=temp,i=a;i!=b;++i,++t)//复制回原空间中
- *i = *t;
- delete []temp;
- }
- }
- int main(){
- int a[100],n;
- while(scanf("%d",&n)==1){
- for(int i=0;i<n;++i)//数据输入
- scanf("%d",&a[i]);
- MergeSort(a,a+n);//排序
- for(int i=0;i<n;++i)//数据输出
- printf("%d ",a[i]);
- puts("");
- }
- return 0;
- }
- 囧...2路归并排序..
- 归并排序(2-路归并排序)
- 2路归并排序
- 2-路归并排序
- 2-路归并排序
- 归并排序(2-路)
- 2路归并排序
- 10.归并排序——2路归并排序
- java实现排序算法之归并排序(2路归并)
- 归并排序(2路)
- 2-路归并排序算法
- 2路归并排序算法
- 2-路归并排序详解
- 排序 - 归并排序 [2]
- 归并排序:二路归并
- 归并排序--二路归并
- 归并排序、二路归并排序
- 数据结构——2路归并排序
- Design Recipes for FPGAs
- 广播电台常用51首背景音乐
- Photoshop CS3 for Screen Printers
- Lua 5.1 参考手册
- CISSP Certification All-in-One Exam Guide, 4th Ed
- 囧...2路归并排序..
- LightWave v9 Texturing
- 和价值链一起转移
- Beginning Linux Programming
- ActionScript 3.0 Bible
- Excel 2007 Workbook For Dummies
- ScanWorkFlow工作流系统
- Flight Simulator X For Pilots Real World Training
- How to Cheat in Photoshop CS3: The art of creating photorealistic montages