步步为营(十二)常用数据结构(5)STL-Set(集合)
来源:互联网 发布:matlab eig函数源码 编辑:程序博客网 时间:2024/04/29 10:56
Set也属于关联容器,而且和Map的实现方法相同,都是红黑树。
简单来说,Set就是key和Value相等的Map。
值得注意的是,由于红黑树的自平衡性(额,也就是自动排序的结果),所以不能直接修改节点的值,每次想要修改一个节点的值,就必须删除原来的元素,然后重新插入。
Map为什么没提这一点? 因为Map的节点是Key值,应该不会有人会去修改Key值的吧…………
同样的,对于结构体来说,我们可以通过重新定义 < 操作符来进行自定义排序。
下面是Set的成员函数说明:
begin() 返回指向第一个元素的迭代器
clear() 清除所有元素count() 返回某个值元素的个数empty() 如果集合为空,返回trueend() 返回指向最后一个元素的迭代器equal_range() 返回集合中与给定值相等的上下限的两个迭代器erase() 删除集合中的元素find() 返回一个指向被查找到元素的迭代器get_allocator() 返回集合的分配器insert() 在集合中插入元素lower_bound() 返回指向大于(或等于)某值的第一个元素的迭代器key_comp() 返回一个用于元素间值比较的函数max_size() 返回集合能容纳的元素的最大限值rbegin() 返回指向集合中最后一个元素的反向迭代器rend() 返回指向集合中第一个元素的反向迭代器size() 集合中元素的数目swap() 交换两个集合变量upper_bound() 返回大于某个值元素的迭代器value_comp() 返回一个用于比较元素间的值的函数
0 0
- 步步为营(十二)常用数据结构(5)STL-Set(集合)
- STL 集合(set)
- STL---Set(集合)
- 步步为营(八)常用数据结构(1)STL-List(双端链表)
- 步步为营(九)常用数据结构(2)STL-Vector(动态数组)
- 步步为营(十)常用数据结构(3)STL-Deque(双端队列)
- 步步为营(十一)常用数据结构(4)STL-Map(应该是散列表)
- 步步为营(十三)常用数据结构(6)STL-Stack(栈)
- 步步为营(十四)常用数据结构(7)STL-Queue(队列)priority_queue(优先队列)
- STL(十二)multiset多重集合容器
- python set集合(数据结构)
- 单词数 (STL set集合)
- STL(十一)set集合容器
- Python数据结构(三)集合set
- Redis-数据结构(字符串集合set)
- 例说数据结构&STL(十二)——iterator
- 85 stl(十二)
- HDU 5058 So easy(STL 集合set的运用)
- 数据仓库基础知识~
- zoj3885最小费用最大流
- 报表与微信公众号(企业号)集成方案
- 1,2报数最后剩下的人的问题
- 傅里叶分析之掐死教程(完整版)
- 步步为营(十二)常用数据结构(5)STL-Set(集合)
- 乳腺增生可透过月经及早发现
- 学习设计模式——简单工厂
- shell学习五十一天----top命令查看进程列表
- 数字输入输出挂
- Jquery获取input输入值的方式总结。
- Windows下安装Java
- 象棋格子放麦子
- Linux操作利器之管道命令