归并排序
来源:互联网 发布:招聘php 编辑:程序博客网 时间:2024/05/25 08:15
#include<iostream>#include<algorithm>using namespace std;const int maxn = 110;int merge(int a[], int left1, int right1, int l2,int r2) {int i = left1, j = l2;int temp[maxn], index = 0;while (i<=right1 && j<=r2){if (a[i] <= a[j]) {temp[index++] = a[i++];}else {temp[index++] = a[j++];}}while (i <= right1){temp[index++] = a[i++];}while (j <= r2){temp[index++] = a[j++];}for (int k = 0; k < index; ++k) {a[left1+k] = temp[k];}return index;//返回长度}void mergesort(int A[], int left, int right) {//递归if (left < right) {int mid = left + (right - left) / 2;mergesort(A, left, mid);mergesort(A, mid + 1, right);merge(A, left, mid, mid + 1, right);}}void mergesort_2(int A[],int n)//非递归{for (int step = 2; step / 2 <= n; step *= 2) {for (int i = 0; i < n; i += step) {int mid = i + step / 2 - 1;if (mid + 1<n)merge(A, i, mid, mid + 1, min(n, i + step - 1));}}getchar();}int main(void) {int num[maxn] = { 23,34,5,7,5,24,7,13,7,68,954,4,51,9 };mergesort(num,0, 15);return 0;}
阅读全文
0 0
- 归并排序-归并排序
- 归并和归并排序
- 归并与归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 排序::归并
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 浏览器截长图
- qt 只去掉标题栏,保留可缩放边框的方法
- 分析决策树算法和逻辑回归算法的准确率问题
- 基于httpclient和mysql的接口功能自动化测试框架
- foreach 循环
- 归并排序
- IOS11 AppStore好评地址地跳转获取
- linux中开启snmp协议
- Python3自动识别验证码(简单数字识别)转载http://www.cnblogs.com/landhu/p/4968577.html
- C++对象的生存周期
- idea破解
- 百度攻占物联网城池,ABC战略全面布局
- 趣图 | 运维工程师在生产服务器进行热切换
- VueJS(4)---图片绑定