您的位置:首页 > 编程语言 > C语言/C++

STL容器 set、 multiset、map、multimap

2017-08-12 11:08 525 查看

Set和Multiset 会根据特定的排序准则,自动将元素排序。两者不同之处是multiset允许元素重复而set不允许。

set、 multiset的能力

set和multiset通常以平衡二叉树完成,自动排序的优点在于令二叉树查找元素时拥有对数的性能。

另外自动排序造成set、multiset有个重要的限制:不能改变元素值。

set、 multiset的操作函数

c.count(val);//返回元素个数
c.find(val);//返回元素值为val的第一个元素
c.lower_bound(val);//返回val的第一个可安插位置 >=val的第一个元素
c.upper_bound(val); //返回>val的第一个元素
c.equal_rangge(val);//返回可被安插的第一个和最后一个位置。

c1=c2//赋值
c1.swap(c2)//置换c1和c2的数据

c.begin() //返回第一个元素
c.end()//指向最末元素的下一位置

c.insert(val);//安插一个元素
c.erase(val);//移除与val相等的所有元素,返回被移除个数


map、 multimap的操作函数

类似,也是以平衡二叉树完成的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  stl c++