C++ Set运用实例
#include <iostream> #include <set> #include <algorithm> #include <iterator> #include <functional> using namespace std; int main() { //容器内的元素下降排序 set<int,greater<int>> set1; set1.insert({6,3,5,1,4,2}); set1.insert(5); for (int elem:set1) { cout << elem << " "; } cout << endl; auto status = set1.insert(4); if (status.second) { cout << "4 inserted as element "<<distance(set1.begin(),status.first)+1 << endl; } else { cout << "4 already exists" << endl; } //容器内的元素升序排序 set<int> set2(set1.cbegin(),set1.cend()); copy(set2.cbegin(),set2.cend(),ostream_iterator<int>(cout," ")); cout << endl; //移除从第一个元素到 元素3所在位置的元素 set2.erase(set2.begin(),set2.find(3)); //删除所有值为5 的元素 int num; num = set2.erase(5); cout << num<<" element(s) removed" << endl; copy(set2.cbegin(),set2.cend(),ostream_iterator<int>(cout," ")); cout << endl; system("pause"); return 0; }
6 5 4 3 2 1
4 already exists
1 2 3 4 5 6
1 element(s) removed
3 4 6
请按任意键继续. . .
代码参考:C++标准库(第2版)