set容器内的元素会被自动排序,set与map不同,set中的元素即是键值又是实值,set允许两个元素有相同的键值。不能通过set的迭代器去修改set元素,原因是修改元素会破坏set组织。当对容器中的元素进行插入或者删除时,操作之前的所有迭代器在操作之后依然有效。
multiset特性及用法和set完全相同,唯一的差别在于它允许键值重复。set和multiset的底层实现是红黑树
函数 | 功能 |
set<T> st | set默认构造函数 |
mulitset<T> mst | multiset默认构造函数 |
set(const set &st) | 拷贝构造函数 |
函数 | 功能 |
set& operator=(const set &st) |
重载等号操作符 |
swap(st) | 交换两个集合容器 |
函数 | 功能 |
size() | 返回容器中元素的数目 |
empty() | 判断容器收为空 |
函数 | 功能 |
insert(elem) | 在容器中插入元素。 |
clear() | 清除所有元素 |
erase(pos) | 删除pos迭代器所指的元素,返回下一个元素的迭代器 |
erase(beg, end) | 删除区间[beg,end)的所有元素 ,返回下一个元素的迭代器 |
erase(elem) | 删除容器中值为elem的元素 |
函数 | 功能 |
find(key) | 查找键key是否存在,若存在,返回该键的元素的迭代器;若不存在,返回set.end() |
count(key) | 查找键key的元素个数 |
lower_bound(keyElem) | 返回最后一个key<=keyElem元素的迭代器 |
upper_bound(keyElem) | 返回第一个key>keyElem元素的迭代器 |
equal_range(keyElem) | 返回容器中key与keyElem相等的上下限的两个迭代器,这两个迭代器被放在对组(pair)中 |
时间: 2024-10-24 09:54:41