C++:泛型编程set(排序去重)

时间:2022-01-24 04:22:39

泛型编程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;

}