MAP容器
1)概念:map 是一个容器,它用于储存数据并且能从一个数据集合中取出数据。它的数据组成包含两项,一个是它的数据值,一个是用于排序的关键字。其中关键字是惟一的,它用于将数据自动排序。而每个元素的数据值与关键字无关,可以直接改变。
【重点】内部结构采用RB_TREE(红黑树)。查找复杂度:O(log2N)
multimap 跟map 特性相同,唯一的区别是允许键值重复!!!
2)使用
需加载的头文件: #include<map>
using namespace std;
模板原型:
template <
class Key, //关键字的数据类型
class Type, //数据值的数据类型
class Traits = less<Key>, //提 供 比 较 两 个 元 素 的 关 键 字 来 决 定 它 们 在 map容器中的相对位置。它是可选的,它的默认值是 less<key>
class Allocator=allocator<pair <const Key, Type> > //代表存储管理设备。它是可选的,它的默认值为allocator<pair <const Key, Type> >
>
3)map 容器特点:
(1)是一个相关联的容器,它的大小可以改变,它能根据关键字来提高读取数据能力。
(2)提供一个双向的定位器来读写取数据。
(3)已经根据关键字和一个比较函数来排好序。
(4)每一个元素的关键字都是惟一的。
(5)是一个模板,它能提供一个一般且独立的数据类型。
4)有关map最详细的介绍详见资源
STL MAP详细资源下载
5)结合map方法给出了一个综合测试代码:
再看一个map数据结构的应用(统计每个字符串出现的个数)
分享到:
相关推荐
C++ STL,全称为Standard Template Library(标准模板库),是C++编程语言中不可或缺的一部分,为程序员提供了高效且灵活的数据结构和算法。STL的主要组件包括容器(如vector、list、set等)、迭代器、算法和函数...
C++ STL,全称为Standard Template Library(标准模板库),是C++编程语言中的一部分,它提供了丰富的容器、迭代器、算法和函数对象等组件,极大地简化了数据结构和算法的实现。余文溪的《C++ STL--数据结构与算法...
2. **标准模板**:在C++ STL中,模板被用来定义泛型类(如容器和迭代器)和泛型函数(如算法)。例如,`vector`、`list`、`map`等都是标准模板类,它们可以存储不同类型的数据。模板使代码更加模块化,易于维护和...
在深入研究C++ `map`时,理解其底层的红黑树结构以及STL容器的通用性也非常重要。STL的设计模式允许开发者以一种通用、高效的方式处理各种数据结构,极大地提高了代码的可读性和可维护性。因此,掌握`map`的使用不仅...
C/C++ STL(Standard Template Library,标准模板库)是C++编程语言中不可或缺的一部分,它提供了高效、可重用的数据结构和算法。STL的主要组件包括容器、迭代器、算法和函数对象,这些组件共同构成了一个强大的工具...
总结,C++的STL`map`容器是处理键值对数据的强大工具,其增删查改操作高效且易于使用。学习并熟练掌握`map`的使用,能够显著提升C++编程的效率和代码质量。在实际编程中,我们应根据需求选择合适的容器,充分利用STL...
本文将总结C++ STL中的主要容器和算法,包括vector、deque、list、set、map、queue、stack和string等。 Vector容器 Vector容器是C++ STL中最常用的容器之一,用于存储同类型的元素。Vector容器提供了多种构造函数...
STL的主要组件包括容器、迭代器、算法和函数对象,这些组件共同构成了一个强大的工具集,极大地提高了C++的生产力。 **容器**: 在STL中,容器是一类可以存储数据的对象,如vector、list、set、map等。vector是一个...
C++ STL(Standard Template Library,标准模板库)是C++编程中的一个重要组成部分,它提供了一系列高效、可重用的数据结构和算法。这个压缩包“C++ STL标准程序库开发指南 源代码.rar”包含了C++ STL的源代码,对于...
C++ STL,全称为Standard Template Library(标准模板库),是C++编程语言中的一部分,它提供了高效、灵活的容器、算法和迭代器等组件。这些组件使得程序员能够以一种更抽象、更模块化的方式处理数据结构和算法,...
C++ STL(Standard Template Library,标准模板库)是C++编程中极其重要的一部分,它提供了一组高效、灵活且可重用的容器、迭代器、算法和函数对象。本讲义将深入探讨STL容器,这些容器是STL的核心组成部分,它们在...
C++ STL 是 C++ 标准库中的一个核心部分,它提供了一组高效、可重用的容器、算法和迭代器模板类。STL 的设计思想源于泛型编程,使得程序员可以编写与数据类型无关的代码,从而提高代码的通用性和效率。下面我们将...
C++标准模板库(STL)是C++编程语言中的一个重要组成部分,它提供了一组高效、可重用的容器、迭代器、算法和函数对象,大大简化了数据结构和算法的实现。STL手册通常会详细阐述这些组件的使用方法,提供实例代码,...
C++STL 库是 C++ 语言中非常重要的一部分,它提供了许多有用的容器、算法和迭代器,帮助开发者更方便地编写高效、可重用的代码。 泛型程序设计是 C++ 语言中非常重要的一部分,它允许开发者编写通用的代码,从而...
接下来,我们将围绕“深入C++STL中文版”这一主题展开详细的讲解,涵盖C++ STL的基本概念、核心组件以及如何利用STL提高编程效率等方面。 ### C++ STL简介 C++标准模板库(Standard Template Library,简称STL)是...
在C++编程语言中,STL(Standard Template Library,标准模板库)是不可或缺的一部分,它提供了许多高效的数据结构和算法。...通过文档“Map容器的用法(STL).doc”可以更深入地学习`map`的高级用法和技巧。
这个"C++STL Source.rar"文件很可能包含了C++ STL的源代码,对于深入理解STL的工作原理和实现细节非常有帮助。 STL的核心组成部分包括: 1. 容器(Containers):这是STL的基础,提供了数据结构来存储和管理元素...
STL,全称为Standard Template Library(标准模板库),是C++编程语言中不可或缺的一部分,它为程序员提供了高效、灵活和可重用的容器、算法和迭代器等工具。这两本电子书《C++ STL使用教程》和《STL编程》无疑会...
### C++ STL 学习经典知识点详解 #### 一、STL概述 C++ Standard Template Library (STL) 是 C++ 标准库的一部分,它提供了一组强大的工具,简化了程序员开发过程中对于数据结构和算法的操作。STL 的设计哲学强调了...