传送门 : 排序
1521.排序
Description
将输入的数从小到大排序。
Input
输入数据n(1<=n<=1000000)
接下来输入n个数据
(多组输入数据)
Output
按格式输出排序后的n个数。
Sample Input
5 5 3 4 6 8
Sample Output
3 4 5 6 8
思路: 对于这个题,数据蛮大的,可能以前那些排序算法 不太好用(我没试过。。- _ -)可以用 STL 中的 multiset 来做,multiset 和 set 基本相同 ,
multiset允许一个集合中,出现多个相同的元素,而set中的元素具有唯一性。
代码如下:
#include<bits/stdc++.h>
using namespace std;
multiset<int>s;
multiset<int>::iterator it;
int main()
{
int n,a;
while(cin>>n)
{
while(!s.empty())
s.clear();
for(int i=1;i<=n;i++)
{
cin>>a;
s.insert(a);
}
it = s.begin();
cout<< *it;
for(it++;it!=s.end();it++)
{
cout<<" "<<*it;
}
cout<<endl;
}
return 0;
}
第一次提交时 RE
cout<< *it<<" ";
这样在全部输出后还会多输出一个空格。。。(什么鬼,题目没说啊!!!)