C++ STL map用法详解

本文详细介绍了C++ STL中的map容器,包括map的基本概念、插入元素(通过pair和重载[]操作符)、获取元素、查找元素(find()和count()函数)、删除元素以及排序特性。map作为关联容器,内部采用红黑树结构,查找效率高,且key自动排序。

一:介绍:

map是STL的一个关联容器,有key 和value两个值,其类型可以自己定义,每个关键字在map中只能出现一次,key不能修改,value可以修改;map同set、multiset、multimap(与map的差别仅在于multimap允许一个键对应多个值)内部数据结构都是红黑树,查找时间复杂度为O(logn)。

如此低时间复杂度的容器在竞赛中的使用频率自然不低。

二:头文件:

 #include<map>

三:定义:

 map<类型名,类型名> 变量名
//例如
map<int,string> s;
map<string,int> s;

四:含义:

大家应该都注意到了吧,map中有两个类型名。

第一个类型名:key值,也就是索引值,它就像数组中的[]内的数字,key只在关键字中出现一次。

第二个类型名:value值,他就是key对应的数值。

五:插入元素:

#include<iostream>
#include<map>
using namespace std;
int main()
{
	map<int,string> s;
	s.insert(pair<int,string>(1,"wwyz"));
	s.insert(pair<int,string>(4,"booyi"));
	s.insert(pair<int,string>(2,"computer"));
 }

这样就实现了插入.

map中的插入方式有很多,这里介绍比较常见的两种.

第一种:如同上面所示,因为c++中map是一中pair类型的元素,所保存的值都存在二叉树中,所以插入时可以

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值