归并排序
来源:互联网 发布:pixlr软件 编辑:程序博客网 时间:2024/06/06 18:33
未测试边界条件
#include <iostream>using namespace std;void merge(int a[], int left, int mid, int right){ int *tmp = new int[right - left + 1]; int i = left, j = mid + 1, k = 0; while(i <= mid && j <= right){ if (a[i] < a[j]){ tmp[k] = a[i]; ++i; } else{ tmp[k] = a[j]; ++j; } ++k; } while(i <= mid){ tmp[k] = a[i]; ++k; ++i; } while(j <= right){ tmp[k] = a[j]; ++k; ++j; } for (k = 0, i = left; i <= right; ++k, ++i){ a[i] = tmp[k]; } delete [] tmp;}void msort(int a[], int left, int right){ if (left >= right) return; int mid = (left + right) / 2; msort(a, left, mid); msort(a, mid + 1, right); merge(a, left, mid, right);}int main(){ int a[10] = {5, 9, 3, 4, 6, 1, 2, 0, 7, 8}; msort(a, 0, 9); for (int i = 0; i < 10; ++i) cout << a[i] << endl; int ttt = 0; return 0;}
0 0
- 归并排序-归并排序
- 归并和归并排序
- 归并与归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 排序::归并
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- Linux学习30_configure: error: no acceptable C compiler found in $PATH 问题解决
- VS 下Qt工程不能生成moc文件的解决方法
- 为何明朝宦官当道如此严重?
- 如何使用okhttp访问百度三方API-频道新闻API_易源
- SQL0911N 由于死锁或超时,已回滚当前事务。原因码“68”。SQLSTATE=40001
- 归并排序
- 如何利用十行代码,绕过杀毒软件实现免杀?
- bootstrap modal居中
- centos下mysql源码编译安装和主备异步配置
- android3种方式查询手机通讯录联系人
- 无线技术知识
- 【Poj 2533】 Longest Ordered Subsequence 最长上升子序列
- TCP和UDP的区别
- JAVA 多线程创建(everything is from ABC)