【C++】STL unordered_set 学习笔记

118 阅读1分钟

一、简介

STL的unordered_set是一个无序容器,它可以存储一组唯一的元素,而且不保证元素的顺序。unordered_set通常用于存储需要快速查找的元素序列.unordered_set的底层实现是哈希表,因此插入、删除和查找的时间复杂度平均为O(1)。

二、基本操作

1、插入

unordered_set的插入操作非常简单,只需调用insert()函数即可。

2、删除

删除操作可以使用erase()函数,该函数可以接受一个迭代器参数,也可以接受一个值参数,删除所有等于该值的元素。

3、查找

查找操作可以使用find()函数,该函数返回一个迭代器,指向第一个等于指定值的元素,如果没有找到,则返回end()迭代器。

#include <iostream>
#include <unordered_set>
#include <string>

using namespace std;

int main(){
    unordered_set<char> name;
    name.insert(s);
    name.insert(a);
    name.insert(m);
    if(name.find(a)!=name.end())
    cout<<"name中存在a";
}    

在这个例子中,我们创建了一个存储char类型元素的容器name,并且插入了s、a、m三个元素。然后查找name中是否存在a,找到则输出“name中存在a”。