C++ SET
set中常用的方法begin() ,返回set容器的第一个元素end() ,返回set容器的最后一个元素clear() ,删除set容器中的所有的元素empty() ,判断set容器是否为空max_size() ,返回set容器可能包含的元素最大个数size() ,返回当前set容器中的元素个数rbegin ,返回的值和end()相同rend()
·
set中常用的方法
begin() ,返回set容器的第一个元素
end() ,返回set容器的最后一个元素
clear() ,删除set容器中的所有的元素
empty() ,判断set容器是否为空
max_size() ,返回set容器可能包含的元素最大个数
size() ,返回当前set容器中的元素个数
rbegin ,返回的值和end()相同
rend() ,返回的值和rbegin()相同
查找键 key 的元素个数:st.count(key);
- 删除容器中值为 elem 的元素:
st.pop_back(const T& elem); - 删除it迭代器所指的元素:
st.erase(iterator it); - 删除区间 [first,last] 之间的所有元素:
st.erase(iterator first, iterator last); - 清空所有元素:
st.clear();
- 开始迭代器指针:
st.begin(); - 末尾迭代器指针:
st.end();// 指向最后一个元素的下一个位置 - 指向常量的开始迭代器指针:
st.cbegin();// 意思就是不能通过这个指针来修改所指的内容,但还是可以通过其他方式修改的,而且指针也是可以移动的。 - 指向常量的末尾迭代器指针:
lst.cend(); - 反向迭代器指针,指向最后一个元素:
st.rbegin(); - 反向迭代器指针,指向第一个元素的前一个元素:
st.rend(); - 返回最后一个 key<=keyElem 元素的迭代器:
st.lower_bound(keyElem); - 返回第一个 key>keyElem 元素的迭代器:
st.upper_bound(keyElem); - 返回容器中 key 与 keyElem 相等的上下限的两个迭代器,这两个迭代器被放在对组(pair)中:
st.equal_range(keyElem);
set 与序列式容器的用法有以下几处不同:
-
set 不支持 resize() 函数;
-
set 容器不提供下标操作符。为了通过键从 set 中获取元素,可使用 find 运算;
-
set 只能使用insert的两种重载函数插入,不支持 push_back() 和 push_front() 函数;
-
set 不支持 STL 里的 reverse 和 sort 算法;
-
set 能不通过迭代器,只通过元素值来删除该元素;
-
set 只支持默认构造函数和拷贝构造函数,没有其它重载的构造函数。
更多推荐



所有评论(0)