STL - 容器 - Set
2015-10-21 20:56
387 查看
Set根据特定排序准则,自动将元素排序。
Set不允许元素重复。
一些常规操作:
SetTest.cpp
运行结果:
---------------- operationDemo(): Run Start ----------------
6 5 4 3 2 1
4 already exists
1 2 3 4 5 6
1 element(s) removed
4 5 6
---------------- operationDemo(): Run End ----------------
Set不允许元素重复。
一些常规操作:
SetTest.cpp
#include <iostream> #include <set> #include <algorithm> #include <iterator> #include <functional> #include "SetTest.h" using namespace std; void SetTest::operationDemo() { // type of the collection: // - no duplicates // - elements are integral values // - descending order set<int, greater<int>> coll1; // insert elements in random order using different member functions coll1.insert({ 4, 3, 5, 1, 6, 2 }); coll1.insert(5); // print all elements for (int elem : coll1) { cout << elem << ' '; } cout << endl; // insert 4 again and process return value auto status = coll1.insert(4); if (status.second) { cout << "4 inserted as element " << distance(coll1.begin(), status.first) + 1 << endl; } else { cout << "4 already exists" << endl; } // assign elements to another set with ascending order set<int> coll2(coll1.cbegin(), coll1.cend()); // print all elements of the copy using stream iterators copy(coll2.cbegin(), coll2.cend(), ostream_iterator<int>(cout, " ")); cout << endl; // remove all elements up to element with value 3 coll2.erase(coll2.begin(), coll2.find(3)); // remove all elements with value 3 int num; num = coll2.erase(3); cout << num << " element(s) removed" << endl; // print all elements copy(coll2.cbegin(), coll2.cend(), ostream_iterator<int>(cout, " ")); cout << endl; } void SetTest::run() { printStart("operationDemo()"); operationDemo(); printEnd("operationDemo()"); }
运行结果:
---------------- operationDemo(): Run Start ----------------
6 5 4 3 2 1
4 already exists
1 2 3 4 5 6
1 element(s) removed
4 5 6
---------------- operationDemo(): Run End ----------------
相关文章推荐
- kvc 定义 model
- Android读书笔记-----View动画
- C++学习——模板与异常处理
- IOS开发笔记4-流程控制/基本语句
- week7---10月21日 DIV模型
- Android 【百度地图】 基础配置(1)
- 主线程上延时,使用postDelayed
- 大道至简第四章流于形式的沟通——读后感
- windows下开发的Web Projectj项目放到Linux服务器下出现路径问题
- Android语音信息相关技术
- UVA Live-3942 Remember the Word(trie树入门题)
- Android 获取手机中所有图片
- SCSS
- C++ 中捕获整数除零错误
- hdu5402Travelling Salesman Problem 构造
- OC中随机数的使用(3种):arc4random,random,CCRANDOM_0_1()
- hdoj 1598 find the most comfortable road【并查集&&暴力枚举】
- mysql修改root密码
- SQL数据库相关
- 杭电2473-Junk-Mail Filter