SET
set作为一个容器也是用来存储同一数据类型的数据类型,并且能从一个数据集合中取出数据,在set中每个元素的值都唯一,而且系统能根据元素的值自动进行排序。应该注意的是set中数元素的值不能直接被改变。
set常用操作:
1. begin()--返回指向第一个元素的迭代器
2. clear()--清除所有元素
3. count()--返回某个值元素的个数
4. empty()--如果集合为空,返回true
5. end()--返回指向最后一个元素的迭代器
6. equal_range()--返回集合中与给定值相等的上下限的两个迭代器
7. erase()--删除集合中的元素
8. find()--返回一个指向被查找到元素的迭代器
9. get_allocator()--返回集合的分配器
10. insert()--在集合中插入元素
11. lower_bound()--返回指向大于(或等于)某值的第一个元素的迭代器
12. key_comp()--返回一个用于元素间值比较的函数
13. max_size()--返回集合能容纳的元素的最大限值
14. rbegin()--返回指向集合中最后一个元素的反向迭代器
15. rend()--返回指向集合中第一个元素的反向迭代器
16. size()--集合中元素的数目
17. swap()--交换两个集合变量
18. upper_bound()--返回大于某个值元素的迭代器
19. value_comp()--返回一个用于比较元素间的值的函数
常用操作及代码示范:
#include <iostream> #include <set> using namespace std; /* begin() 返回set容器的第一个元素 end() 返回set容器的最后一个元素 clear() 删除set容器中的所有的元素 empty() 判断set容器是否为空 insert() 在集合中插入元素 find() 查找某个元素,返回其迭代器 max_size() 返回set容器可能包含的元素最大个数 size() 返回当前set容器中的元素个数 rbegin 返回的值和end()相同 rend() 返回的值和begin()相同 */ int main() { set<long long > s; s.insert(1); s.insert(2); s.insert(3); s.insert(1); set<long long > :: iterator itor; cout << "set 的 size 值为 :" << s.size() << endl; cout << "set 的 maxsize的值为 :" << s.max_size() << endl; cout << "set 中的第一个元素是 :" << *s.begin() << endl; cout << "set 中的最后一个元素是:" << *s.end() << endl; itor = s.find(1); if(itor != s.end()) cout << "1 is find" << endl; s.clear(); if (s.empty()) { cout << "set 为空 !!!" << endl; } cout << "set 的 size 值为 :" << s.size() << endl; cout << "set 的 maxsize的值为 :" << s.max_size() << endl; return 0; }