数据结构之归并排序
来源:互联网 发布:学霸精软件下载 编辑:程序博客网 时间:2024/05/17 04:26
归并排序中的基本操作是合并两个已排好序的表,如果把一个表中的每个元素单独看成一个“表”,那么每个表都是有序的,然后再挨着挨着把每个“表”进行按序合并,那么形成的一个新表也是有序的。归并的思想就是这样的,先递归操作把一个大表分成小表,在把每个小表进行并操作。
void MergeArray(int *a,int start,int mid,int end,int *temp) //合并操作 数组a[start...mind]和a[mind+1...end]进行合并{ int i=start; int j=mid+1; int m=mid; int n=end; int k=0; while(i<=m &&j<=n) { if(a[i]<=a[j]) { temp[k++]=a[i++]; } else { temp[k++]=a[j++]; } } while(i<=m) { temp[k++]=a[i++]; } while(j<=n) { temp[k++]=a[j++]; } for(i=0;i<k;i++) { a[start+i]=temp[i]; //将合并好的数组temp放到先前合并成功的数组a[0....start]中 }}void MergeSort(int *a,int start,int end,int *temp){ if(start<end) { int mid=(start+end)/2; MergeSort(a,start,mid,temp); //分解表左半部分 MergeSort(a,mid+1,end,temp); //分解表右半部分 MergeArray(a,start,mid,end,temp); //并 }}
0 0
- 数据结构之归并排序
- 数据结构之归并排序
- 数据结构之归并排序
- 数据结构之归并排序
- 数据结构之归并排序
- 《数据结构--排序》之归并排序
- 数据结构之排序--归并排序
- 数据结构之排序:归并排序
- 数据结构之(归并排序)
- 数据结构之归并排序、基数排序
- 数据结构系列之归并排序
- 《大话数据结构》之归并排序
- 数据结构之排序——归并排序
- 【数据结构之排序8】归并排序
- 数据结构(26)--排序篇之归并排序
- java数据结构排序之归并排序实现
- 数据结构==》排序之归并排序
- 【数据结构与算法之排序】归并排序
- Tomcat6.x - 性能参数调整
- VBS基础篇 - 运算符(4) - 比较运算符
- Giveaway of the Day--一个良知网站
- scrollView一些属性
- IIC 之深入理解原理
- 数据结构之归并排序
- 《蝶恋花·伫倚危楼风细细》 柳永
- Uncle Hey
- Oracle中大批量删除数据的方法
- VBS基础篇 - 运算符(5) - 字符串运算符
- java学习之《基础篇一》
- 正式文体的层次标号
- IDA反汇编/反编译
- std::string用法总结