泛型编程set(排序去重)
Time Limit(Common/Java):1000MS/3000MS Memory Limit:65536KByte
Total Submit:110 Accepted:49
Description
新春过后的第一次比赛,相信大家都已经准备好了。那么就为大家热下身吧。问题很简单,对一组输入的数据进行排序。 对输入的数据,我们有如下的约定:所有的输入数据都为正整数,且都不大于300000000。但是输入的数据可能会有重复,排序时,应将重复的数据合并,即同样的数只处理一次。
Input
只有一组数据,以0结尾。
Output
输出排序后的数据(不含0),其中相同的数应只显示1个。
Sample Input
1 2 2 3 2 3 4 0
Sample Output
1 2 3 4
Hint
注意:相邻数之间有一个空格,最后一个数换行(后面没有空格)。
代码块:
#include <iostream>
#include<set>
using namespace std;
int main(int argc, char *argv[])
{
int n;
set<int>s;
while(cin>>n&&n)
s.insert(n);
set<int>::iterator it;
for(it=s.begin();it!=s.end();it++)
{
if(it==--s.end())
cout<<*it<<endl;
else
cout<<*it<<" ";
}
return 0;
}