算法导论 (一)归并排序实现 c++
来源:互联网 发布:淘宝商家编码在哪 编辑:程序博客网 时间:2024/06/05 12:03
#include <iostream>using namespace std;void Merge_Sort(int *a,int p,int q ,int r)//归并{ int i,j,k; int n1=q-p+1; int n2=r-q; int *le=NULL; int *ri=NULL; le = new int [n1]; ri = new int[n2]; for(i=0;i<n1;i++) { le[i]=a[p+i]; } for(j=0;j<n2;j++) { ri[j]=a[q+j+1]; } i=j=0; k=p; while(i < n1 && j < n2) { if(le[i]<=ri[j]) a[k++]=le[i++]; else a[k++]=ri[j++]; } for(;i<n1;i++) a[k++]=le[i]; for(;j<n2;j++) a[k++]=ri[j];}void Merge(int *a,int p,int r)//分解{ if(p<r) { int q=(int)((r+p)/2); Merge(a,p,q); Merge(a,q+1,r); Merge_Sort(a,p,q,r); }}int main(){ int arr[7]={1,99,-7,-86,-56,84,15}; Merge(arr,0,6);//进入分解 for(int i=0;i<7;i++)//输出 cout<<arr[i]<<endl; return 0;}
开始刷算法导论
0 0
- 【算法导论】归并排序,C语言实现
- 算法导论 (一)归并排序实现 c++
- C++ 归并排序实现(算法导论)
- C++ 归并排序实现(算法导论)
- 【算法导论】归并排序实现
- 算法导论 - 归并排序的 C 语言实现
- 归并排序的C语言实现【严蔚敏+算法导论】
- 算法导论中的归并排序C语言实现
- 再读算法导论,排序一(归并排序)。
- 算法导论 之 归并排序[C语言]
- 排序算法(C实现)-------- 归并排序
- 算法导论:归并排序java实现
- 【java实现】算法导论之归并排序
- 【算法导论】归并排序
- [算法导论]归并排序
- 算法导论-----归并排序
- 【算法导论】归并排序
- 算法导论-归并排序
- hiho一下 第四十七周——拓扑排序
- 相机标定
- 大数加法和乘法
- 点滴记录 -- 自定义Activity栈 之 如何出栈
- 全国最大盗销文物案告破 涉案文物价值逾5亿元
- 算法导论 (一)归并排序实现 c++
- Winform控件之菜单控件,工具栏控件和状态栏控件
- 整理一个Apache Shiro 使用手册 好文章
- 用户级线程和内核级线程
- iOS之UIImage详情
- mysql命令
- Word中解决图片失真的办法
- Java中的Object的Wait() 和notify()方法使用时应注意的地方和Thread中的sleep()方法
- #168 Excel Sheet Column Title &« Excel Sheet Column Number