排序算法的数组实现 -- 合并排序(三)
来源:互联网 发布:linux地址随机 编辑:程序博客网 时间:2024/06/08 06:43
static const int Sentinel_Card = 100000;//哨兵,假设元素值都比它小void static Merger(int *a, int p, int q, int r){int L_Size = q - p + 1;int R_Size = r - q;int *a1 = new int[L_Size + 1];int *a2 = new int[R_Size + 1];for (int i = 0; i < L_Size; i++)a1[i] = a[p + i];a1[L_Size] = Sentinel_Card; for (int i = 0; i < R_Size; i++){a2[i] = a[q + 1 + i];}a2[R_Size] = Sentinel_Card;int m = 0, n = 0;for (int i = p; i <= r; i ++){if(a1[m] < a2[n]){a[i] = a1[m];m++;}else{a[i] = a2[n];n++;}}}void Merger_Sort(int *a, int p, int r){if(p < r){int q = (p + r)/2;Merger_Sort(a, p, q);Merger_Sort(a, q + 1, r);Merger(a, p, q, r);}}
- 排序算法的数组实现 -- 合并排序(三)
- 算法(三)合并排序
- 合并排序 算法实现
- 改进的合并排序算法(小数组内使用插入排序算法)
- 合并排序的递归实现算法
- 排序算法的数组实现 -- 插入排序(一)
- 排序算法的数组实现 -- 堆排序(二)
- 排序算法的数组实现 -- 快速排序(四)
- 排序算法的数组实现 -- 桶排序(五)
- Java实现数组的快速排序(快速排序算法)
- 【算法设计】合并排序、自然合并排序与快速排序算法的Java实现
- 插入排序,合并排序,堆排序,快速排序,计数排序的实现(算法导论)
- Java实现-合并排序数组
- 合并排序算法(java实现)
- 算法实现(7)合并排序
- 【算法】合并排序【JS实现】
- java实现合并排序算法
- 排序算法-合并排序(C语言实现)
- mongdb工具及参数简介
- 索引整理方式测试
- VS2010编译错: #error : This file requires _WIN32_WINNT to be #defined at least to 0x0403...的解决方法
- 网路3——网络层 上
- Android之Tab分页标签的实现方法一-----TabActivity和TabHost的结合(三)
- 排序算法的数组实现 -- 合并排序(三)
- VC系统时间的获取
- Android字符串格式化
- Sql Server分布式事务
- 关于Command
- 分布式计算开源框架Hadoop
- org.hibernate.HibernateException: Unable to get the default Bean Validation factory
- PHP计算相对路径
- 在线人数统计和总访问量统计