C++ STL关联式容器

C++ STL关联式容器教程,STL 中的关联式容器主要包括 map、multimap、set 以及 multiset。和 序列式容器 不同的是,关联式容器在存储元素时还会为每个元素在配备一个键。

STL pair

STL pair教程,C++ STL 标准库提供了 pair 类模板,其专门用来将 2 个普通元素 first 和 second(可以是 C++ 基本数据类型、结构体、类自定的类型)创建成一个新元素 `<first, second>`。

STL map

STL map教程,map 做为 关联容器 的一种,存储的都是 pair 对象,也就是用 pair 类模板创建的键值对。其中,各个键值对的键和值可以是任意数据类型。

STL map容器使用

STL map容器使用教程,map 容器是 STL 中最常用的容器之一,我们要创建一个 map 容器有三种方式,即直接创建一个 map、创建一个 map 并初始化和通过 map 创建 map。

STL map迭代器

STL map迭代器教程,C++ STL 标准库为 map 容器配备的是双向迭代器(bidirectional iterator)。这意味着,map 容器迭代器只能进行 `++p`、`p++`、`--p`、`p--`、`p` 操作。

STL map查找元素

STL map查找元素教程,我们要在 STL 中的 map 容器中查找键为某个值的元素时,可以使用 find 函数,如果成功找到,则返回指向该键值对的双向迭代器;

STL map查找不小于键的元素

STL map查找不小于键的元素教程,我们要在 STL 中的 map 容器中查找键不小于指定值的第一个元素,我们可以使用 lower_bound 函数。如果成功找到,则返回指向该键值对的双向迭代器;

STL map查找大于键的元素

STL map查找不大于键的元素教程,我们要在 STL 中的 map 容器中查找键大于指定值的第一个元素,我们可以使用 upper_bound 函数。如果成功找到,则返回指向该键值对的双向迭代器;

STL map获取元素

STL map获取元素教程,我们要在 STL 中的 map 容器中获取某个键对应的值,可以使用下标的方式和使用 at 的方式。

STL map插入元素

STL map插入元素教程,如果我们需要向 STL 中的 map 容器插入元素有三种方法,即,使用下标索引的形式和使用 insert 方法插入元素还可以使用 emplace 方法。

STL map emplace

STL map emplace教程,如果我们需要向 STL 中的 map 容器插入元素除了使用下标索引的形式和使用 insert 方法插入元素,还可以使用 emplace 方法和 emplace_hint 方法。

STL map更新元素

STL map更新元素教程,STL 中的 map 元素的键是不可以修改的,但我们可以根据键修改对应的元素的值,要修改键对应的元素的值,只需要使用下标方式即可。

STL map长度

STL map长度教程,我们需要知道 STL 中 map 的长度,可以使用 size 函数。

STL map删除元素

STL map删除元素教程,如果我们需要删除 STL 中的 map 容器中的元素,我们可以使用 erase 函数。

STL multimap

STL multimap教程,multimap 是一个类似于 map 的容器,所谓 “相似”,指的是 multimap 容器具有和 map 相同的特性,即 multimap 容器也用于存储 pair<const K, T> 类型的键值对(其中 K 表示键的类型。

STL multimap使用

STL multimap容器使用教程,multimap 容器提供了多个构造函数用来创建 multimap,我们要创建一个 multimap 容器有三种方式,即直接创建一个 multimap、创建一个 multimap 并初始化和通过 multimap 创建 multimap。

STL multimap迭代器

STL multimap迭代器教程,C++ STL 标准库为 multimap 容器配备的是双向迭代器(bidirectional iterator)。这意味着,multimap 容器迭代器只能进行 `++p`、`p++`、`--p`、`p--`、`*p` 操作。

STL multimap查找元素

STL multimap查找元素教程,我们要在 STL 中的 multimap 容器中查找键为某个值的元素时,可以使用 find 函数,如果成功找到,则返回指向该键值对的双向迭代器;

STL multimap查找不小于键的元素

STL multimap查找不小于键的元素教程,我们要在 STL 中的 multimap 容器中查找键不小于指定值的第一个元素,我们可以使用 lower_bound 函数。如果成功找到,则返回指向该键值对的双向迭代器;

STL multimap查找大于键的元素

STL multimap查找不大于键的元素教程,我们要在 STL 中的 multimap 容器中查找键大于指定值的第一个元素,我们可以使用 upper_bound 函数。如果成功找到,则返回指向该键值对的双向迭代器;

STL multimap键个数

STL multimap键个数教程,我们要在 STL 中的 multimap 容器中查找某个键的个数,我们可以使用 count 函数,传入我们需要查找的键名即可。

STL multimap插入元素

STL multimap插入元素教程,如果我们需要向 STL 中的 multimap 容器插入元素有两种方法,即,使用 insert 方法插入元素和使用 emplace 方法。

STL multimap emplace

STL multimap emplace教程,如果我们需要向 STL 中的 multimap 容器插入元素除了使用 insert 方法插入元素,还可以使用 emplace 方法和 emplace_hint 方法。

STL multimap更新元素

STL multimap更新元素教程,STL 中的 multimap 元素的键是不可以修改的,但我们可以根据键修改对应的元素的值,要修改键对应的元素的值,只能通过迭代器遍历得到元素之后,再次修改其值。

STL multimap长度

STL multimap长度教程,我们需要知道 STL 中 multimap 的长度,可以使用 size 函数。

STL multimap是否为空

STL multimap是否为空教程,我们需要知道 STL 中 multimap 是否为空,可以使用 size 函数获取其长度,看是否为 0,或者直接使用 empty 函数。

STL multimap删除元素

STL multimap删除元素教程,如果我们需要删除 STL 中的 multimap 容器中的元素,我们除了可以使用 erase 函数或者使用 clear 函数,我们使用 erase 删除的键存在多个时,会全部删除。

STL set

STL set教程,STL 中的 set 也是一种 关联式容器,其用来存储一组不重复的元素集合,而且,set 存储元素和 map 以及 multimap 类似,都是无序的。

STL set使用

STL set容器使用教程,set 容器提供了多个构造函数用来创建 set,我们要创建一个 set 容器有三种方式,即直接创建一个 set、创建一个 set 并初始化和通过 set 创建 set。

STL set迭代器

STL set迭代器教程,C++ STL 中的 set 容器类模板中未提供 at() 成员函数,也未对 `[]` 运算符进行重载。因此,要想访问 set 容器中存储的元素,只能借助 set 容器的迭代器。

STL set迭代器

STL set迭代器教程,C++ STL 中的 set 容器类模板中未提供 at() 成员函数,也未对 `[]` 运算符进行重载。因此,要想访问 set 容器中存储的元素,只能借助 set 容器的迭代器。

STL set查找不小于值的元素

STL set查找不小于值的元素教程,我们要在 STL 中的 set 容器中查找不小于指定值的第一个元素,我们可以使用 lower_bound 函数。如果成功找到,则返回指向该值的双向迭代器。

STL set查找大于的元素

STL set查找不大于的元素教程,我们要在 STL 中的 set 容器中查找大于指定值的第一个元素,我们可以使用 upper_bound 函数。如果成功找到,则返回指向该值的双向迭代器;

STL set插入元素

STL set插入元素教程,如果我们需要向 STL 中的 set 容器插入元素有两种方法,即,使用 insert 方法插入元素和使用 emplace 方法。

STL set emplace

STL set emplace教程,如果我们需要向 STL 中的 set 容器插入元素除了使用 insert 方法插入元素,还可以使用 emplace 方法和 emplace_hint 方法。

STL set删除元素

STL set删除元素教程,如果我们需要删除 STL 中的 set 容器中的元素,我们可以使用 erase 函数或者使用 clear 函数,我们使用 erase 删除的键存在多个时,会全部删除。

STL multiset

STL multiset教程,C++ STL 标准库中还提供有一个和 set 容器相似的关联式容器,即 multiset 容器。所谓 “相似”,是指 multiset 容器遵循 set 容器的很多特性。

STL multiset使用

STL multiset容器使用教程,multiset 容器提供了多个构造函数用来创建 multiset,我们要创建一个 multiset 容器有三种方式,即直接创建一个 multiset、创建一个 multiset 并初始化和通过 multiset 创建 multiset。

STL multiset迭代器

STL multiset迭代器教程,我们要访问 multiset 中的元素,也只能使用迭代器的形式。

STL multiset查找元素

STL multiset查找元素教程,我们要在 STL 中的 multiset 容器中查找某个值的元素时,可以使用 find 函数,如果成功找到,则返回指向该键值对的双向迭代器;反之,则返回和 end() 方法一样的迭代器。

STL multiset查找不小于的元素

STL multiset查找不小于的元素教程,我们要在 STL 中的 multiset 容器中查找不小于指定值的第一个元素,我们可以使用 lower_bound 函数。如果成功找到,则返回指向该键值对的双向迭代器;

STL multiset查找大于的元素

STL multiset查找不大于的元素教程,我们要在 STL 中的 multiset 容器中查找大于指定值的第一个元素,我们可以使用 upper_bound 函数。

STL multiset元素个数

STL multiset元素个数教程,我们要在 STL 中的 multiset 容器中查找某个元素的个数,我们可以使用 count 函数,传入我们需要查找的元素名即可。

STL multiset插入元素

STL multiset插入元素教程,如果我们需要向 STL 中的 multiset 容器插入元素有两种方法,即,使用 insert 方法插入元素和使用 emplace 方法。

STL multiset emplace

STL multiset emplace教程,如果我们需要向 STL 中的 multiset 容器插入元素除了使用 insert 方法插入元素,还可以使用 emplace 方法和 emplace_hint 方法。

STL multiset删除元素

STL multiset删除元素教程,如果我们需要删除 STL 中的 multiset 容器中的元素,我们可以使用 erase 函数或者使用 clear 函数,我们使用 erase 删除的键存在多个时,会全部删除。