【模板】快速排序

来源:互联网 发布:网络投票工具 编辑:程序博客网 时间:2024/05/22 10:52
#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>using namespace std;const int sz = 2000100;int n;int num[sz],tmp[sz];void merge_sort(int l,int r){    if(l==r) return;    int mid=l+r>>1;    merge_sort(l,mid),merge_sort(mid+1,r);    int p=l,pl=l,pr=mid+1;    while(pl<=mid||pr<=r)    {        if(pr>r|| (pl<=mid&&num[pl]<=num[pr]) )            tmp[p++]=num[pl++];        else            tmp[p++]=num[pr++];    }    for(int i=l;i<=r;++i)        num[i]=tmp[i];}int main(){    cin>>n;    for(int i=1;i<=n;++i)        cin>>num[i];    merge_sort(1,n);    for(int i=1;i<=n;++i)    printf("%d ",num[i]);    return 0;}