#include <stdio.h>
void qsort(int l ,int r,int a[])
{
int i=l,j=r,m,x;
int t;
x=(l+r)/2;
m=a[x];
while (i<j)//等号加不加无所谓
{
while (a[i]<m) i++;
while (a[j]>m) j--;
if (i<=j)
{
t=a[i];
a[i]=a[j];
a[j]=t;
i++;
j--;
}
}
if (l<j) qsort(l,j,a);//i,j中间是相同的数
if (i<r) qsort(i,r,a);
}
int main()
{
int n,i;
int a[1000] ;
scanf("%d",&n);
for (i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
qsort(1,n,a);
for (i=1;i<=n;i++) printf("%d ",a[i]);
}
快排【c语言版】
最新推荐文章于 2022-10-07 11:13:31 发布