问题描述
给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200
输入格式
第一行为一个整数n。
第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。
第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。
输出格式
输出一行,按从小到大的顺序输出排序后的数列。
样例输入
5
8 3 6 4 9
8 3 6 4 9
样例输出
3 4 6 8 9
思路:
1.排序方法多种多样,由于没有时间和内存的要求,所以我们答题最好就用顺手的方法来解决问题。
2.此处我用的是冒泡法排序。关于冒泡排序的详解,参见博文:http://blog.csdn.net/rl529014/article/details/49255095
源代码如下:
#include<iostream>
int main()
{
using namespace std;
int array[200];
int n;
int temp;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>array[i];
}
for(int i=0;i<n-1;i++)
{
for(int j=0;j<n-1-i;j++)
{
if(array[j]>array[j+1])
{
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
for(int i=0;i<n;i++)
{
cout<<array[i]<<" ";
}
return 0;
}
运行结果如下:
大家可能注意到,我提交的第一次得了14分,其实这就是我要说的重点。
注:此处提醒大家一个小细节,我们注意到,题目中的样例输入,
样例输入
5
8 3 6 4 9
8 3 6 4 9
输出的时候是用空格隔开的,所以我们在输出的时候也要用空格隔开各个元素。
这样才能保证百分百的正确性。