STL容器 set、 multiset、map、multimap

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的操作函数

类似,也是以平衡二叉树完成的。

你可能感兴趣的:(c++标准库,stl,c++)