`
gaofen100
  • 浏览: 1213408 次
文章分类
社区版块
存档分类
最新评论

STL 关联容器

 
阅读更多

关联容器的定义
STL中的关联容器有map、multimap、set、multiset。<是默认的比较运算符,但可能有个比较函数参数。这些容器提供了双向迭代器。
Map类存储(键,值)时,他们按照唯一的键来排序。Pair在<utility>中定义。Map的一个有效地功能是可使用运算符[]通过其键来建立下标。由于下标功能在map中提供,所以值可以通过insert函数输入到map中,还可以通过数组类型的赋值来输入,例如下面的语句:Month["December"]=31;
Map类的部分规范如下:


注意关联容器有自己的find和count函数来查找数据项。他们还可以使用lower_bound、
upper_bound 和equal_range函数返回一组相等的数据项。数据项使用insert函数添加到关联容器中。对于map和multimap,元素还可以使用下标运算符[]插入。
Multimap和multiset容器类似于对应的map和set,但他们允许键重复。当键可能有两个与它有关的值时,这是很有效的。下面的程序创建了一个map ,然后创建了一个multimap,把姓名存储为键,电话号码存储为值。multimap可以为一个姓名存储对个电话号码,而map会用同一个键覆盖另一个项目。


分享到:
评论

相关推荐

    STL关联容器入门

    STL关联容器入门

    STL关联容器概述1

    STL关联容器是C++ Standard Template Library中的一类重要容器,它们主要负责通过键值(key)来存储和检索元素。关联容器与序列式容器(如vector、list、deque等)不同,后者是通过元素在容器内的位置顺序来存取元素。...

    eytzinger:具有Eytzinger(BFS)布局的C ++缓存友好型STL关联容器

    Eytzinger布局的实现是对STL关联容器的一种优化,它在保持原有功能的同时,通过改进数据布局来提高内存访问速度。 C++11、C++14和C++17标准引入了许多新特性,这些特性可以被用于实现Eytzinger布局。例如,C++11中...

    SGI STL 关联式容器源码

    通过对SGI STL关联式容器源码的学习,我们可以理解这些数据结构的内部实现,从而更好地利用它们来解决实际编程问题,提高程序效率。同时,这也是深入理解C++模板元编程和STL设计模式的一个宝贵资源。

    c++/STL容器设计相关

    例如,可以使用容器存储其他容器的迭代器,或者通过关联容器(如映射)将元素与特定信息关联起来。 八、STL容器与算法 STL提供了一套强大的算法库,如排序(sort)、查找(find)、合并(merge)等,这些算法可以与...

    STL -容器,string容器

    STL容器可以分为两大类:序列式容器和关联式容器。 序列式容器的特点是强调值的排序,每个元素均有固定的位置。常见的序列式容器有vector、list、deque等。 关联式容器的特点是无需强调元素的物理顺序,各元素之间...

    STL常用容器1

    在本文中,我们将重点讨论STL中的容器,特别是序列式容器和关联式容器。 1. 序列式容器: 序列式容器是一类按照元素插入顺序存储的容器,包括vector、queue、deque、priority_queue、list和stack。这些容器有着...

    c++容器使用经验总结.docx

    - **标准STL关联容器**:`set`, `multiset`, `map`, `multimap` - `set`: 不重复键值的集合,自动排序。 - `multiset`: 允许重复键值的集合,自动排序。 - `map`: 键值对容器,键不重复且自动排序。 - `multimap...

    stl_set容器详细使用方法

    STL(Standard Template Library)中的 Set 容器是一种关联容器,用于存储唯一的元素,且自动排序。下面是 STL Set 容器的详细使用方法。 元素类型 Set 容器中元素的类型可以是任何类型,包括内置类型和用户定义...

    C++之STL标准库容器成员一览表.pdf

    STL提供了以下几种关联容器: * set:一个集合容器,元素类型可以是任何类型。 * multiset:一个多集合容器,元素类型可以是任何类型。 * map:一个映射容器,元素类型可以是任何类型。 * multimap:一个多映射容器...

    STL中容器算法使用说明大全

    - **Map**:关联容器,基于红黑树实现,存储键值对,提供O(log n)的查找、插入和删除操作。 - **set**:也基于红黑树,存储唯一元素,支持快速查找、插入和删除。 2. **STL算法**: - **排序算法**:`sort()`...

    stl容器.zip

    STL容器主要分为四大类:顺序容器、关联容器、容器适配器以及迭代器。接下来我们将详细讨论这些容器及其特点。 1. **顺序容器**: - **vector**:动态数组,可以高效地进行随机访问和尾部插入操作。元素在内存中...

    STL常用容器详细解析

    STL中的常用容器包括:顺序性容器(vector、deque、list)、关联容器(map、set)、容器适配器(queue、stac)。 1、顺序性容器 (1)vectorvector是一种动态数组,在内存中具有连续的存储空间,支持快速随机访问。...

    c++容器使用经验

    标准STL序列容器:vector、string、deque和list。 标准STL关联容器:set、multiset、map和multimap。

    c++STL容器讲义与演示

    主要有四大类容器:顺序容器(如vector、deque、list)、关联容器(如set、map)、容器适配器(如stack、queue、priority_queue)以及未分类容器(如unordered_set、unordered_map)。这些容器各自有不同的特性和...

    基于stl共享内存,可以像使用STL容器一样使用共享内存

    在C++标准库中,每个STL容器都与一个特定的分配器关联,用于管理对象的内存。默认情况下,这些分配器在堆上分配内存。但为了在共享内存上工作,我们需要创建一个自定义的分配器,例如名为`MyAllocator`的类,它会...

    STL代码大全(容器,链表,栈,算法,排序等)

    `std::map`是一个关联容器,它包含唯一键值和对应的关联值,通常实现为红黑树。你可以通过键来快速查找、插入和删除元素。文件中可能包含了`insert`、`find`、`erase`、`operator[]`等操作的示例。 4. **查找算法...

Global site tag (gtag.js) - Google Analytics