STL模板整理 set

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;
}

 

posted @ 2018-03-29 19:10  GHzz  阅读(202)  评论(0编辑  收藏  举报