STL容器 set、 multiset、map、multimap

来源:互联网 发布:linux mv 文件夹 覆盖 编辑:程序博客网 时间:2024/05/22 07:50

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

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

阅读全文
0 0