归并排序
来源:互联网 发布:java如何合并两个list 编辑:程序博客网 时间:2024/04/27 19:13
#include"aa.h"#include<vector>#include<iostream>#include<numeric>using namespace std;void merge(int a[],int left,int mid,int right){//const int len=sizeof(a);int b[10];int k;for(k=left;k<=right;k++) //申请新数组b[]将a[]中的值拷贝进去b[k]=a[k];int i=left,j=mid+1;k=left;while(i!=mid+1 && j!=right+1){if(b[i]<=b[j])a[k++]=b[i++];else a[k++]=b[j++];}while(i<=mid)a[k++]=b[i++];while(j<=right)a[k++]=b[j++];}void mergesort(int a[], int left, int right) //递归调用merge函数{ if (left < right) { int mid = (left + right) / 2; mergesort(a, left, mid); //左边有序 mergesort(a, mid+1,right); //右边有序 merge(a, left, mid, right); //再将二个有序数列合并 } //if}void MergeSort(int a[], int n) //封装mergesort函数,用户只需提供待排序数组与长度{ mergesort(a, 0, n - 1); } int main(){int a[10]={5,3,10,7,9,2,4,11,8,1};MergeSort(a,10);for(int i=0;i<10;i++)cout<<a[i]<<' '; cout<<endl;system("pause");return 0;}
0 0
- 归并排序-归并排序
- 归并和归并排序
- 归并与归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 排序::归并
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- android listview addHeaderView入参不同的区别
- 图文介绍如何在Eclipse统计代码行数
- Search Insert Position
- 二分查找中的死循环
- 数据结构 第一章 绪论
- 归并排序
- 软工——详解白盒测试
- 哲学家吃饭
- gc overhead limit exceeded eclipse解决方案
- 使用queryperf对DNS服务器作压力测试
- C语言-ATM机
- 欢迎光临
- 九度oj-1019-简单计算器
- 【九度OJ】1489【矩阵乘法】【C实现】【哈工大2012】