set集合的使用
#include <iostream>
#include <set>
#include <string>
#include <utility>
using namespace std;
int main() {
int N;
cin >> N;
set<int> s;
int K;
for (int i = 0; i < N; i++) { cin >> K; s.insert(K); }
set<int>::iterator iter;
cout << "After sorting: ";
for (iter = s.begin(); iter != s.end(); iter++) cout << *iter << ' ';
cout << endl << s.size() << endl;
if (!s.empty()) cout << "There exist somgthing." << endl;
if (s.count(3)) cout << "There exists 3." << endl;
pair<set<int>::iterator, set<int>::iterator> pr;
pr = s.equal_range(3);
if (pr.first != s.end() && pr.second != s.end()) {
cout << "The first number that is bigger than 3 or equal to 3: " << *pr.first << endl
<< "The first number that is bigger than 3: " << *pr.second << endl;
}
s.erase(s.begin());
s.erase(3);
cout << "After erasing: ";
for (iter = s.begin(); iter != s.end(); iter++) cout << *iter << ' ';
int Add[] = { 1,2,3 };
s.insert(Add, Add + 3);
cout << endl;
cout << "After inserting: ";
for (iter = s.begin(); iter != s.end(); iter++) cout << *iter << ' ';
if (s.find(1) != s.end()) cout << endl << "There exists 1." << endl;
pair<set<int>::iterator, bool> pr2;
pr2 = s.insert(5);
if (pr2.second) cout << "Insert done." << endl;
else cout << "There alrealy exist 5." << endl;
cout << "Some of these values exist by default: " << endl;
cout << "The first number that is bigger than 5 or equal to 5: " << *s.lower_bound(5) << endl;
cout << "The first number that is bigger than 5: " << *s.upper_bound(5) << endl;
return 0;
}