map和set和pair

目录

一.序列式容器和关联式容器

一.set

set类的介绍:

Construct :set的初始化

insert:插入

​编辑find:查找

erase:删除

set查找范围的函数:​编辑

二.map

2.1map介绍

2.2pair类型介绍 在map的insert中用到

2.3 map的 Construed(构造)

2.4 map的 insert 插入(重要)

三.下面的我就不一一介绍了,可以自行查看文档

3.1map的 erase 删除

3.2大部分函数


一.序列式容器和关联式容器


STL中的部分容器如 :string、vector、list、deque、array、forward_list等,这些容器统称为序列式容器,因为逻辑结构为线性序列的数据结构,两个位置存储的值之间一般没有紧密的关联关系,比如交换一下,他依旧是序列式容器顺序容器中的元素是按他们在容器中的存储位置来顺序保存和访问的

关联式容器也是用来存储数据的,与序列式容器不同的是,关联式容器逻辑结构通常是非线性结构,两个位置有紧密的关联关系,交换一下,他的存储结构就被破坏了。顺序容器中的元素是按关键字来保存和访问的。

关联式容器有map/set 系列unordered_map/unordered_set系列)map和set底层是红黑树,红黑树是一颗平衡二叉搜索树。set是key搜索场景的结构,map是key/value搜索场景的结构。


一.set

包含头文件#include<set>就可以使用

set类的介绍:

一般情况下,我们都不需要传后两个模版参数。
set底层是用红黑树实现,增删查效率是O(logN),迭代器遍历是走的搜索树的 中序,所以是有序
的。
map,set 和 vector/list等容器的使用,STL容器接口设计,高度相似。


Construct :set的初始化

 可以自行查阅:

set - C++ Reference

例子:


insert:插入



find:查找

erase:删除

set查找范围的函数:

例子:



二.map

包含头文件#include<map>就可以使用

2.1map介绍

map的声明如下,Key就是map底层关键字的类型,T是map底层value的类型,

set默认要求Key支持小于比较,如果不支持或者需要的话可以自行实现仿函数传给第二个模版参
数,map底层存储数据的内存是从空间配置器申请的。

一般情况下,我们都不需要传后两个模版参数map底层是用红黑树实现,增删查改效率是O(logN),迭代器遍历是走的中序,所以是按key有序顺序遍历的


2.2pair类型介绍 在map的insert中用到

2.4 map的 insert 插入(重要)

可以自行查找网站:

 pair - C++ Reference

1.map底层的红黑树节点中的数据,使用pair<Key, T>存储键值对数据。

2.也可以作为类型

构造pair的例子:


2.3 map的 Construed(构造)

一般直接构造就行

更多例子:



2.4 map的 insert 插入(重要)

例子:


三.下面的我就不一一介绍了,可以自行查看文档

map - C++ Reference

3.1map的 erase 删除

例子

3.2大部分函数

这里注意一下:

例子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值