在看这篇文章之前,先看看#include <set>的简介。
这篇文章我来给大家几个set的应用。
应用
应用一
#include <iostream>
#include <set> //导入set库
#include <random>
using namespace std;
std::set<int> n; //定义一个集合
int value, num;
int main() {
std::cin >> num;
for (int i = 1; i <= num; i++) { //输入集合
std::cin >> value;
n.insert(value);
}
//生成随机数
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<> distrib(0, 100);
n.insert(distrib(gen));
//输出集合
for (const auto & elem : n)
std::cout << elem << " ";
return 0;
}
应用二
#include <iostream>
#include <set>
using namespace std;
std::set<int> n;
int value, num;
int main() {
std::cin >> num;
for (int i = 1; i <= num; i++) {
std::cin >> value;
n.insert(value);
}
for (int i = num + 1; i <= num * 2; i++)
n.insert(i);
for (const auto& elem : n)
std::cout << elem << " ";
return 0;
}
综合应用
#include <iostream>
#include <set>
#include <random>
using namespace std;
std::set<int> n;
int value, num;
int main() {
std::cin >> num;
for (int i = 1; i <= num; i++) {
std::cin >> value;
n.insert(value);
}
for (int i = num + 1 ; i <= num * 2 ; i ++)
n.insert(i);
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<> distrib(0, 100);
n.insert(distrib(gen));
n.erase(3);
for (const auto & elem : n)
std::cout << elem << " ";
return 0;
}