set集合容器
来源:互联网 发布:谷阿莫华尔街之狼 知乎 编辑:程序博客网 时间:2024/04/28 05:31
/* set集合容器: 调用头文件: #include<set> using namespace std; 详细用法(部分): set<int> t ------ 定义一个int类型的容器,注意set里的每个元素只会出现1次 t.insert(k) ------ 插入元素k,多次插入同一个元素后面无效 t.count(k) ------ 判断元素k是否在容器内 t.erase(k) ------ 删除元素k,若不存在则删除无效 t,clear() ------ 清空容器 t.size() ------ 返回容器现有元素个数 t.empty() ------ 判断容器是否为空 想遍历set里的元素或进行进一步修改,必须定义对应迭代器,以下三种定义方法(迭代器类似于指针)set<int>::iterator it ------ 定义正向迭代器set<int>::reverse_iterator rit; ------ 定义反向迭代器auto it = t.begin(); ------ 因为t.begin()返回正向迭代器,所以it自动被定义为正向迭代器,可适应其他所有操作 以下需要迭代器的操作:t.begin() ------ 返回set中第一个元素,类型为正向迭代器t.rbegin() ------ 返回set中最后一个元素,类型为反向迭代器t.end() ------ 返回set中最后一个元素,类型为正向迭代器t.rend() ------ 返回set中第一个元素,类型为反向迭代器t.find(k) ------ 寻找k,若找到返回对应的迭代器,否则返回end();t,insert(a, b) ------ 插入指针[a, b)之间的元素,已有元素不会再次插入t.erase(it) ------ 删除迭代器it对应的元素t.erase(l, r) ------ 删除迭代器[l, r)之间的元素lower_bound(k) ------ 返回第一个大于等于k的元素的迭代器upper_bound(k) ------ 对于set这种元素唯一的容器,该操作与lower_bound(k)相同,只有一种情况不同,就是容器中若含有元素k,该操作会返回k下一个元素的迭代器*/#include<stdio.h>#include<set>using namespace std;set<int> t;int main(void){t.insert(5);t.insert(3);t.insert(8);t.insert(9);t.insert(12);printf("the size is %d\n", t.size());printf("%d %d\n", t.count(5), t.count(-1));//运行结果:1 0set<int>::iterator it;for(it=t.begin();it!=t.end();it++)//运行结果:3 5 8 9 12 printf("%d ", *it);printf("\n");set<int>::reverse_iterator rit;for(rit=t.rbegin();rit!=t.rend();rit++)//运行结果:12 9 8 5 3 printf("%d ", *rit); printf("\n");auto a = t.begin();auto b = t.begin();b++;t.erase(a,b);for(it=t.begin();it!=t.end();it++)//运行结果:5 8 9 12 printf("%d ", *it);printf("\n");a = t.lower_bound(6);b = t.upper_bound(8);printf("%d %d\n", *a, *b);//运行结果:8 9return 0;}
0 0
- set集合容器
- set集合容器
- set集合容器
- Set集合容器
- set集合容器
- set集合容器
- set集合容器用法
- set集合容器
- set集合容器
- set集合容器
- set 集合容器
- set集合容器
- set集合容器
- set集合容器
- 集合容器set
- set集合容器
- set集合容器
- STL set集合容器
- UVA10600 ACM Contest and Blackout (次小生成树)
- 大数运算(C++)
- VIM命令模式下命令
- 静态链接库 VS 动态链接库
- 二分_E
- set集合容器
- 线程池的几种常见的创建的方式
- springMVC+hibernate+springdata+querydsl搭建框架(优缺点分析+springdata介绍)
- Android控件属性
- just my first blog
- HDU 3689 Infinite monkey theorem (KMP + 概率DP)
- map关联容器
- Android技术的网址资源集合,此贴不定期更新
- iOS 雪花动画与跑马灯