归并排序 --C语言实现
来源:互联网 发布:js分页思路 编辑:程序博客网 时间:2024/06/07 07:41
#include <cstdlib>#include <iostream>using namespace std;void merge(int A[], int p , int q, int r){ int n1 = q - p + 1; int n2 = r - q; int L[n1 + 2], R[n2 + 2]; for(int i = 1; i <= n1; i++){ L[i] = A[p + i - 1]; } for(int i = 1; i <= n2; i++){ R[i] = A[q + i]; } L[n1 + 1] = 9999999; R[n2 + 1] = 9999999; int i = 1; int j = 1; for(int k = p; k <= r; k++){ if(L[i] <= R[j]){ A[k] = L[i]; i++; } else { A[k] = R[j]; j++; } }}void merge_sort(int A[], int p, int r){ if(p < r){ int q = (p + r) / 2; merge_sort(A, p, q); merge_sort(A, q + 1, r); merge(A, p, q, r); }}int main(int argc, char *argv[]){ int a[] = {0, 10, 12, 13, 33, 5, 44, 25, 8, 99, 77, 11}; for(int i = 1; i < 12; i++){ printf("%d ", a[i]); if(i == 11) printf("\n"); } merge_sort(a, 1, 11); for(int i = 1; i < 12; i++){ printf("%d ", a[i]); if(i == 11) printf("\n"); } system("PAUSE"); return EXIT_SUCCESS;}
阅读全文
0 0
- 归并排序 c语言实现
- 归并排序C语言实现
- 归并排序C语言实现
- 归并排序--C语言实现
- 归并排序C语言实现
- 归并排序--c语言实现
- C语言实现归并排序
- 归并排序 --C语言实现
- 排序(6)---------归并排序(C语言实现)
- 归并排序及C语言实现
- 归并排序递归实现C语言
- 归并排序非递归实现C语言
- 归并排序 MergeSort C语言实现
- C语言实现的归并排序
- 归并排序C语言实现MergeSort
- 用C语言实现归并排序
- 归并排序的C语言实现
- C语言实现普通归并排序
- hdu 6199 gems gems gems
- poj-3070 skiing
- Capacity Scheduler配置说明
- 微信小程序全局变量
- Spring 框架
- 归并排序 --C语言实现
- mysql常用函数汇总(转载)
- 【Java概念】抽象类(10)
- sails-mongo 使用 groupBy 进行分组遇到的坑
- Tomcat 6中配置BoneCP数据源
- 使用Tomcat-redis-session-manager来实现Tomcat集群部署中的Session共享
- 182. Duplicate Emails
- 用Struts输出Hello
- 连岗位需求都不知道,你凭什么能胜任这份工作?