合并排序
来源:互联网 发布:大学软件专业课程 编辑:程序博客网 时间:2024/06/07 05:30
#include <stdio.h>#include <string.h>#include <iostream>#include <string>const int INF = 0x7fffffff;using namespace std;void merge(int *a, int l, int mid, int r) {int L[100];int R[100];int cnt = 0;for (int i = l; i <= mid; i++){L[cnt++] = a[i];}L[cnt] = INF;cnt = 0;for (int i = mid + 1; i <= r; i++){R[cnt++] = a[i];}R[cnt] = INF;int li = 0;int ri = 0;for (int i = l; i <= r; i++){if (L[li] < R[ri]){a[i] = L[li++];}else {a[i] = R[ri++];}}}void mergeSort(int *a, int l, int r){if (l < r){int mid = l + (r - l) / 2;mergeSort(a, l, mid);mergeSort(a, mid + 1, r);merge(a, l, mid, r);}}void print(int *a, int n){for (int i = 0; i < n; i++){printf("%d ", a[i]);}}int main(){int n;int a[100];scanf("%d", &n);for (int i = 0; i < n; i++) {scanf("%d", &a[i]);}mergeSort(a, 0, n - 1);print(a, n);return 0;}
0 0
- 合并排序
- 合并排序
- 合并排序
- 合并排序
- 合并排序
- 合并排序
- 合并排序
- 合并排序
- 合并排序
- 合并排序
- 合并排序
- 合并排序
- 合并排序
- 合并排序
- 合并排序
- 合并排序
- 合并排序
- 合并排序
- 分享网站群发站内信数据库表设计
- MySQL常用命令
- 删除MyEclipse 6.5.1自带的Maven4MyEclipse
- 为Android安装BusyBox —— 完整的bash shell
- 张晋获最佳男配角拥吻爱妻
- 合并排序
- CSI-VIII:链接-程序构建
- linux下文件无法删除(尝试使用:chattr)
- [SQL Server] SA密码无法清除,提示未能找到存储过程'sp_password'
- eXtremeDB相关问题解答(1)
- 骨骼莫名变形,至今未查出病因,还被
- Pro Android学习笔记(八二):了解Package(1):包和进程
- 2013年10月15日到 2013年11月15日就业明细花名册
- 在servlet重定向