C++ map multimap容器超详解_c++ multimap区别

本文详细介绍了C++中的map和multimap容器,涵盖pair对组、构造与赋值、大小与交换、插入与删除、查找与统计以及排序规则。通过实例演示了map的操作,同时对比了map与multimap的区别。最后,文章提供了一个自定义排序规则的示例,展示了如何使用仿函数实现学生信息的排序。
摘要由CSDN通过智能技术生成
C++ map/multimap容器详解

pair对组

在学习map之前我们先了解一下pair对组,因为map中的基本元素就是对组pair

  • pair是将2个数据组合成一组数据,当一个函数需要返回2个数据的时候,就可以选择pair
  • pair是用一个结构体实现的,结构体主要的两个成员变量first和second,分别存储两个数据

pair的创建:

  1. pair<T1,T2> p1(t1,t2);
  2. 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属于关联式容器,底层结构是用二叉树实现的
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值