快速排序
适合题型:
1.模拟快速排序
样题: 快速排序
std.cpp:
#include<iostream>
#include<iomanip>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<string>
#include<algorithm>
#include<cmath>
#include<queue>
#include<vector>
using namespace std;
inline int read()
{
int X=0,w=1; char ch=0;
while(ch<'0' || ch>'9') {if(ch=='-') w=-1;ch=getchar();}
while(ch>='0' && ch<='9') X=(X<<3)+(X<<1)+ch-'0',ch=getchar();
return X*w;
}
int sort(int a[],int l,int r)
{
int i,j,x;
i=l; j=r;
x=a[(l+r)>>1];
do{
while (a[i]<x) ++i;
while (a[j]>x) --j;
if(i<=j)
{
swap(a[i],a[j]);
++i; --j;
}
}while (i<=j);
if (l<j) sort(a,l,j);
if (i<r) sort(a,i,r);
}
const int kkk=100050;
int n,a[kkk];
int main()
{
n=read();
for(int i=1;i<=n;i++)a[i]=read();
sort(a,1,n);
for(int i=1;i<=n;i++)cout<<a[i]<<" ";
}