AcWing 787. 归并排序
原题链接
简单
作者:
07kzs
,
2019-07-28 10:00:03
,
所有人可见
,
阅读 716
#include<bits/stdc++.h>//发现又和第一题类似,先用这个方法做吧,学完归并排序再换做法
using namespace std;
const int N = 1e6 + 10;
int a[N];
void quick_sort(int b, int w)//快速排序大发好^~^
{
if(b >= w)return ;
int i = b -1, j = w + 1, x = a[b];
while(i < j){
while(a[++i] < x);
while(a[--j] > x);
if(i < j)swap(a[i], a[j]);
else break;
}
quick_sort(b, j), quick_sort(j + 1, w);
}
int main()
{
int c;
cin >> c;
for(int i = 0; i < c; i++)
cin >> a[i];
quick_sort(0, c - 1);//^~~^
for(int s=0;s<c;s++)
cout << a[s]<<" ";
return 0;
}