C++ stl之set容器
来源:互联网 发布:淘知学堂教材全解 编辑:程序博客网 时间:2024/05/16 15:52
set容器,即集合容器,在stl中并不显眼,相比于常用的map,vector,之类的容器,并不常用,只是只有在使用集合,这一个常用的数学工具,set才会显得有意义.
set有一个兄弟容器multiset,set和multiset的区别是:set插入的元素在相同时在保留一个,但是multiset着允许容器中有相同的元素。
set容器描述了一个控制变长元素序列的对象的模板类。对这个序列可以进行查找、插入、删除序列中的任意一个元素,而完成这些操作的时间同这个序列中元素个数的对数成比例关系(即log n).原因在于set容器与map类似,采用红黑树作为数据结构,因此采用insert操作时,迭代器不失效.
有意思的是,虽然set看起来是单个元素的集合体,但实际上与map类似在set中有键(key)又有值(value),但是迭代器返回的是value,而key是用于比较的
与map类似,set必须是严格弱排序( strict weak ordering),在判断的时候会用"<",而不是"<=",一旦"<"成立便认为存在"<"关系,返回ture,而忽略了"="关系和">"区别,把它们归结为false"。其存在下述性质
1、非对称,若A<B为真,则B<A为假。
2、可传递,若A<B,B<C,则A<C。
3、A<A永远为假。
在set(map)中有两个参数key_compare,value_compare值得就是返回key与value的比较器,使用key_comp,和value可以返回比较结果.
想要了解有关set的操作可以参见点击打开链接
0 0
- C++STL之set容器
- C++STL之关联容器【map】【set】
- C++STL之Set集合容器
- C++--STL---set容器
- STL容器之set
- STL 之set容器
- STL容器之set
- STL模板学习之set容器(C/C++)
- c++STL Set集合容器
- C++STL之set容器及stream类
- 【C++】STL常用容器总结之九:集合set
- STL学习之set容器
- STL之set集合容器
- STL学习之set容器
- C++ stl之set容器
- STL容器之Set,MultiSet
- STL之set集合容器
- STL容器之set/multiset
- Computer Architecture Top Journal
- 用Python实现ROT13
- 白话一下什么是决策树模型
- C++ 中string类的大小
- webservice
- C++ stl之set容器
- SDN概述,SDN是什么?
- 项目-V0.0.3-犯二的信号处理函数
- Qt5的插件机制(2)--QxxxFactory类与QFactoryLoader类
- 用户属性标签系统建设思路以及结构
- 学习地理的十大理由
- 差分约束系统
- ContentProvider和Uri详解
- 参加ACM CIKM 2007会议