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;

290

被折叠的 条评论
为什么被折叠?



