码迷,mamicode.com
首页 > 编程语言 > 详细

归并排序模板

时间:2020-06-13 12:48:12      阅读:52      评论:0      收藏:0      [点我收藏+]

标签:include   mes   algorithm   void   归并排序   while   stream   cstring   amp   

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
using namespace std;
const int N=1e6+10;
int q[N]= {0},temp[N]={0};
void merge_sort(int q[],int l,int r)
{
if(l>=r) return;
int mid=l+r>>1;
merge_sort(q,l,mid);
merge_sort(q,mid+1,r);
int k=0,i=l,j=mid+1;
while(i<=mid&&j<=r)
if(q[i]<=q[j]) temp[k++]=q[i++];
else temp[k++]=q[j++];
while(i<=mid) temp[k++]=q[i++];
while(j<=r) temp[k++]=q[j++];
for(i=l,j=0;i<=r;i++,j++)
q[i]=temp[j];
}
int main()
{
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
scanf("%d",&q[i]);
merge_sort(q,0,n-1);
for(int i=0;i<n;i++)
printf("%d ",q[i]);
return 0;
}

归并排序模板

标签:include   mes   algorithm   void   归并排序   while   stream   cstring   amp   

原文地址:https://www.cnblogs.com/SmileSunlight/p/13113394.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!