一、题目
登录—专业IT笔试面试备考平台_牛客网
二、代码
- set去重,再利用vector进行排序
std::set
是一个自带排序功能的容器,它已经按照一定的规则(默认是元素的小于比较)对元素进行了排序。因此,你不能直接对std::set
使用std::sort
,因为它已经有了自己的排序机制,而且不允许直接修改元素的值
#include<iostream>
#include<algorithm>
#include<set>
#include<vector>
using namespace std;
int main()
{int n;cin >> n;set<int>s;for (int i = 0; i < n; i++){int x;cin >> x;s.insert(x);}vector<int>v;set<int>::iterator it = s.begin();while (it != s.end()){v.push_back(*it);++it;}sort(v.begin(), v.end());cout << s.size() << endl;it = s.begin();while (it != s.end()){cout << *it << " ";it++;}return 0;
}