文章目录
背景知识
集合Set
哈希表的主要作用是判断给定的整数是否存在于给定的数据中, 哈希表常使用的数据结构有数组、set集合、map映射。
set集合, 具体包括下列内容
- set、``unordered_set, multiset `的概念和特点
- set、``unordered_set, multiset `的基本操作,比如创建、插入、删除、查找
- 迭代器iterator。
1、set、unordered_set和multiset 的概念和特点
1)和数学中的集合一样,C++中的集合set用于允许存储一组不重复的元素, 并且元素的值按照有序排列, set基于红黑树实现,支持高效的关键字查询操作, 可以用来检查一个给定关键字是否在set中。
2)无序集合unordered-set类似于集合(Set),但不会按照元素的值进行排序,而是由哈希函数的结果决定的。
3)multiset 则是一个用于存储一组元素,允许元素重复,并按照元素的值进行有序排列的集合。
2、Set的使用
使用集合set需要先引入头文件。
// 引入<unordered_set>头文件
#include <unordered_set>
// 引入set头文件
#include <set>
创建一个集合的写法如下
// 创建一个存储整数的无序集合
unordered_set<int> mySet;
// 创建一个存储整数的set
set<int> mySet;
// 创建一个存储整数的 multiset
multiset<int> myMultiSet;
想要向集合中插入元素需要使用insert()方法
// 向集合中插入元素
mySet.insert(1);
mySet.insert(2);
mySet.