C++ map/multimap容器详解
pair对组
在学习map之前我们先了解一下pair对组,因为map中的基本元素就是对组pair。
- pair是将2个数据组合成一组数据,当一个函数需要返回2个数据的时候,就可以选择pair
- pair是用一个结构体实现的,结构体主要的两个成员变量first和second,分别存储两个数据
pair的创建:
pair<T1,T2> p1(t1,t2);
pair<T1,T2> p2 = make_pair(t1,t2);
T1和T2是两个数据类型,可以是内置数据类型,也可以是自定义数据类型
实例演练:
#include<iostream>
using namespace std;
void text()
{
pair<string, int> p1("张三", 20);//创建方式1
pair<string, int> p2 = make\_pair("李四", 25);//创建方式2
//first获取第一个元素,second获取第二个元素
cout << "姓名:" << p1.first << " 年龄:" << p1.second << endl;
cout << "姓名:" << p2.first << " 年龄:" << p2.second << endl;
}
int main()
{
text();
system("pause");
}
map的基本概念
简介:
- map中所有元素都是pair
- map中的pair第一个元素为key(键值),起索引作用,就相当于数组下标,第二个元素为value(实值)
- map所有元素会根据键值大小自动排序
本质:
- map/multimap属于关联式容器,底层结构是用二叉树实现的