快速排序

题目

luogu1177

代码

include

include

include

include

include

include

define N 100005

using namespace std;

int n,a[N];

void quicksort(int l,int r)
{
int mid=a[rand()%(r-l)+l],i=l,j=r;
while(i<=j)
{
while(a[i]<mid) i++;
while(a[j]>mid) j--;
if(i<=j)
{
swap(a[i],a[j]);
i++;j--;
}
}
if(l<j) quicksort(l,j);
if(i<r) quicksort(i,r);
}

int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
quicksort(1,n);
for(int i=1;i<=n;i++) printf("%d ",a[i]);
return 0;
}

posted @ 2017-08-18 08:23  XYZinc  阅读(138)  评论(0)    收藏  举报