<map>\<unordered_map>

C++的map提供一种指定类型间的一对一映射关系,其基本的创建、查找、删除操作如下:

#include <map>
#include <string>
#include <iostream>
using namespace std;

map<int,string> int_string;  //声明一个从整型到字符串型的映射,即int为key,string为value

int_string[404]='Not Found';  //这是最简单的建立映射的语法

result=int_string.find(404);  //map.find()返回一个迭代器指向键值,若该键不存在,则返回迭代器mao.end()
if(result==int_string.end()){
	cout<<"we do not find 404"<<endl;
}
else{
	cout<<"we find 404";
}

int_string.erase(result);  //删除404

由于map的元素默认按key的升序排列,所以它没有sort方法,下面是它的其它常用方法:

map.begin():返回指向头部的迭代器。

map.end():返回指向尾部的迭代器。

map.clear():清空map。

map.count():返回指定元素的出现次数。

map.size():返回map的大小。

map.max_size():返回map可容纳的最大元素数。


要想达到O(1)的查找时间复杂度,要用unordered_map,用空间换取时间。

unordered_map和哈希表很像,并且方法和map相似。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值