C++学习记录-STL-set和multiset
C++学习记录-STL-set和multiset
set容器
Set的特性是:所有元素都会根据元素的键值自动被排序。Set的元素不像map那样可以同时拥有实值和键值,set的元素即是键值又是实值。Set不允许两个元素有相同的键值。
set常用API
-
构造函数
1
2set<类型> 名称;
set(另一个容器名称);//拷贝构造函数 -
赋值操作
1
2
3
4
5
6swap(容器,另一个容器);//交换两容器内容
.insert(元素);//向容器中插入元素
.clear();//清除所有元素
.erase(pos);//清除对应位置的元素,返回下一个元素的迭代器
.erase(beg,end);//清除对应区间的所有元素,返回下一个元素的迭代器
.erase(elum);//删除值为elum的元素 -
查找操作
1
2
3
4
5.find(key);//查找key键是否存在
.count(key);//统计key键的个数
lower_bound(key);//返回第一个<=key的元素迭代器
upper_bound(key);//返回第一个>key的元素迭代器
equal_range(key);//返回与key相等的迭代器 -
大小操作
1
2.size();//返回容器中的元素数目
.empty();//判断容器是否为空 -
定义排序顺序
使用仿函数,在尖括号中作为第二个参数传入。
multiset容器
multiset特性及用法和set完全相同,唯一的差别在于它允许键值重复。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 星辰微光的博客!






