1.set中常用的方法
begin() | 返回一个迭代器,它指向容器c的第一个元素 | ||||||
end() | 返回一个迭代器,它指向容器c的最后一个元素的下一个位置 | ||||||
rbegin() | 返回一个逆序迭代器,它指向容器c的最后一个元素 | ||||||
rend() | 返回一个逆序迭代器,它指向容器c的第一个元素前面的位置 | ||||||
clear() | 清空所有元素 | ||||||
empty() | 判断set是否为空 | ||||||
max_size() | 返回set中最大能装的元素个数 | ||||||
size() | 返回当前set的大小 | ||||||
erase() |
| ||||||
find(value) | 返回值为value的迭代器 | ||||||
insert() |
| ||||||
upper_bound(key) | 查找大于key的元素的迭代器 | ||||||
lower_bound(key) | 查找大于等于key的元素的迭代器 | ||||||
equal_range(key) | 放回两个lower_bound,和upper_bound组成的pair |
注:1.begin end rbegin rend位置图示
2.自定义比较函数的2种方法
struct cmp{
bool operator <(const your_type &a, const your_type &b){
return a.data > b.data;//由大到小
}
}
set<int, cmp> s;
struct Info{
string name;
float score;
bool operator < (const Info &a) const {
//按score从大到小排列
return a.score<score;
}
}
set<Info> s;
set<Info>::iterator it;