1
排序(10分)
题目内容:
程序读入一个正整数n(0<n<=100000),然后读入n个整数,均为32位下的整数。输出对这个整数排序后的结果,每个整数后面有一个空格。
输入格式:
一个表示个数的正整数n,和n个整数,以空格间隔。
输出格式:
排序后的n的整数,每个整数后面有一个空格。
输入样例:
6 2 23 54 12 6 8
输出样例:
2 6 8 12 23 54
时间限制:500ms内存限制:32000kb
#include<stdio.h>
int main(){
int n,i,j;
int a[100000];
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
for(i=2;i<=n;++i)
if(a[i]<a[i-1]){
a[0]=a[i];
a[i]=a[i-1];
for(j=i-2;a[0]<a[j];--j)
a[j+1]=a[j];
a[j+1]=a[0];
}
for(i=1;i<=n;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}