第一次自己写的代码,既然搞acm,这是必须的,有些人虽然搞acm一段时间,可连快排都不会自己写,只会调用stl,感觉有点不专业呀
下面是我的代码:
#include <cstdio>//很短的代码呀,理解下吧
void sort(int a[],int l,int r)
{
if(l >= r) return ;
int x,i,j;
i = l;j = r;
x = a[i];
while(i < j)
{
while(x < a[j] && j > i) j --;
if(i < j){a[i] = a[j];i ++;}
while(x > a[i] && j > i) i ++;
if(i < j){a[j] = a[i];j --;}
}
a[i] = x;
sort(a,l,i - 1);
sort(a,i + 1,r);
}
int main()
{
int n,a[10001];
while(~scanf("%d",&n))
{
for(int i = 0;i < n;i ++)
scanf("%d",&a[i]);
sort(a,0,n - 1);
for(int i = 0;i < n;i ++)
printf("%d ",a[i]);
printf("\n");
}
return 0;
}