stl set使用模板

明明的隨機數

描述

明明想在學校中請一些同學一起做一項問卷調查,爲了實驗的客觀性,他先用計算機生成了N個1到1000之間的隨機整數(N≤100),對於其中重複的數字,只保留一個,把其餘相同的數去掉,不同的數對應着不同的學生的學號。然後再把這些數從小到大排序,按照排好的順序去找同學做調查。請你協助明明完成“去重”與“排序”的工作

格式

輸入格式

輸入有2行,第1行爲1個正整數,表示所生成的隨機數的個數:
N
第2行有N個用空格隔開的正整數,爲所產生的隨機數。

輸出格式

輸出也是2行,第1行爲1個正整數M,表示不相同的隨機數的個數。第2行爲M個用空格隔開的正整數,爲從小到大排好序的不相同的隨機數。

樣例1

樣例輸入1

10
20 40 32 67 40 20 89 300 400 15

樣例輸出1

8
15 20 32 40 67 89 300 400

set 第一個是最小值,不允許有重複的值

.begin是初始地址,要用指針

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <set>
using namespace std;
set<int> arr;
int main()
{
int n;
cin >> n;
int x;
for (int i = 0; i < n; i++)
{
cin >> x;
arr.insert(x);
}
cout << arr.size() << endl;
for (auto x = arr.begin(); x != arr.end(); x++)
cout << *x << " ";
cout << endl;
return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章