题目描述
有n个数,要你从小到大进行输出排序
输入
n(0<n<=100005)
然后是n个整数
输出
输出n个数从小到大的顺序
样例输入
5
1
2
5
1
2
样例输出
1
1
2
2
5
参考代码
#include<stdio.h>
int a[100006],n;
void qs(int left,int right)
{
int i,j,t;
if(left>right)
return;
t = a[left];
i = left;
j = right;
while(i!=j)
{
while(a[j] >= t && i<j)
{
j--;
}
while(a[i] <= t && i<j)
{
i++;
}
if(i<j)
{
int k = a[i];
a[i] = a[j];
a[j] = k;
}
}
a[left] = a[i];
a[i] = t;
qs(left,i-1);
qs(i+1,right);
return;
}
int main()
{
int i,j,k;
scanf("%d",&n);
for (i = 1;i <= n;i++)
{
scanf("%d",&a[i]);
}
qs(1,n);
for (i = 1;i <= n;i++)
{
printf("%dn",a[i]);
}
return 0;
}
解析
暂无