C++ 标准库类型 set

版权声明: https://blog.csdn.net/Wang_Jiankun/article/details/82498343

C++ 标准库类型 set


一、set 的使用与定义


1、使用 set 类型

标准库类型 set 就是数学上的集合。使用红黑树实现。

  • 每个元素只出现一次
#include <set>
using std::set;

2、定义和初始化 set 对象

  • set 是类模板,实例化时必须指定类型。
  • 通常声明一个空的集合,之后再往里添加元素。
// 声明一个空的集合
set<int> s;

二、set 对象操作


1、 set 类成员函数

begin(): 返回指向第一个元素的迭代器

clear():清除所有元素

count():返回某个值元素的个数

empty():如果集合为空,返回true

end():返回指向最后一个元素的迭代器

equal_range():返回集合中与给定值相等的上下限的两个迭代器

erase():删除集合中的元素

find():返回一个指向被查找到元素的迭代器

get_allocator():返回集合的分配器

insert():在集合中插入元素

lower_bound():返回指向大于(或等于)某值的第一个元素的迭代器

key_comp():返回一个用于元素间值比较的函数

max_size():返回集合能容纳的元素的最大限值

rbegin():返回指向集合中最后一个元素的反向迭代器

rend():返回指向集合中第一个元素的反向迭代器

size():集合中元素的数目

swap():交换两个集合变量

upper_bound():返回大于某个值元素的迭代器

value_comp():返回一个用于比较元素间的值的函数


2、实例

#include <set>
set<int> s;  

// 插入insert()
s.insert(1)

// 删除erase()
s.erase(2)

// 查找find(),若找到返回该键值迭代器的位置,否则返回最后一个元素后面一个位置
it = s.find(3);        //查找键值为5的元素
if (it != s.end())     //找到
    cout << *it << endl;
else                   //未找到
    cout << "no found";

// 计数count()
s.count(4)

// 集合大小size()
s.size()

// 遍历数据,用迭代器遍历数据
for (set<int>::iterator it = s.begin(); it != s.end(); ++it)    
{
    cout << *it << endl;
}

猜你喜欢

转载自blog.csdn.net/Wang_Jiankun/article/details/82498343