排序
Time Limit: 1000ms Memory limit: 32678K 有疑问?点这里^_^
题目描述
给你N(N<=100)个数,请你按照从小到大的顺序输出。
输入
输入数据第一行是一个正整数N,第二行有N个整数。
输出
输出一行,从小到大输出这N个数,中间用空格隔开。
示例输入
5
1 4 3 2 5
示例输出
1 2 3 4 5
提示
来源
示例程序
#include <stdio.h>
int main()
{
int n;
int s[110];
while(~scanf("%d",&n))
{
for(int i = 0; i < n; i++)
scanf("%d",&s[i]);
for(int k = n / 2; k >= 1; k = k / 2)
{
for(int i = k + 1; i < n ; i++)
{
for(int j = i - k; j >= 0; j--)
if(s[j] > s[j + k])
{
int tmp = s[j];
s[j] = s[j + k];
s[j + k] = tmp;
}
}
}
for(int i = 0; i < n; i++)
{
printf("%d",s[i]);
if(i < n - 1)
printf(" ");
}
printf("\n");
}
return 0;
}