归并排序分析
来源:互联网 发布:jdbc mysql陶伟基 编辑:程序博客网 时间:2024/06/05 22:46
#include <iostream>using namespace std;void Merge(int *data,int start,int between,int end){ int length1=between-start+2; int length2=end-between+1; int Left[length1]; int Right[length2]; for(int i=0;i<length1-1;i++) Left[i]=data[start+i]; Left[length1-1]=100000; for(int i=0;i<length2-1;i++) Right[i]=data[between+i+1]; Right[length2-1]=100000; int i=0,j=0; for(int index=start;index<=end;++index) { if (Left[i]<=Right[j]) { data[index]=Left[i++]; } else { data[index]=Right[j++]; } } }void MergeSort(int *data,int start,int end){if(start<end) { int between=(end+start)/2; MergeSort(data, start, between);//下标为start和 between之间的排序完毕 MergeSort(data, between+1,end);//下标为between+1和end之间的数组排序完毕 Merge(data,start,between,end); //把排好序的两个数组合并 } }int main(){int A[10]={1,44,32,1,21,23,32,433,2,0};MergeSort(A,0,9);for(int i=0;i<10;++i) cout<<A[i]<<" "; return 0;}归并排序 时间复杂度O(Nlog(N))
0 0
- 归并排序算法分析
- 归并排序及其分析
- 归并排序分析
- 归并排序详细分析
- 分析归并排序
- 算法分析:归并排序
- 分治法:归并排序分析
- 归并排序算法及分析
- 归并排序介绍与分析
- 归并排序时间复杂度分析
- 分析插入与归并排序
- 算法-排序-归并排序(MergeSort)分析
- 经典排序算法--归并排序算法分析
- 归并排序及其时间复杂度分析
- 算法设计与分析-4.1、归并排序
- 归并排序及其时间复杂度分析
- 归并排序及其时间复杂度分析
- 归并排序算法分析 c++11
- FreeMarker生成word的代码
- Cocos2dx-3.x 学习笔记一:屏幕分辨率及适配问题
- 欧几里得算法求最大公约数
- 搭建C++与C#的OpenGL环境
- Fresco源码解析 - 本地编译
- 归并排序分析
- mysql导出csv打开乱码解决方法
- 学习分布式soa框架dubbo
- 同步SVN时,路径出现乱码的解决方法。
- vs2010工程属性配置--输出目录的配置
- 求最大连续子序列和4种算法解析
- 向升序单向链表中插入一个节点
- 静态链接库、动态链接库与COM组件的区别
- 关于freemarker的classic_compatible属性的使用场景和解决