程序员文章站
2022-05-12 23:30:33
...
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相似。
推荐阅读
-
JS中parseInt()和map()用法分析
-
java常用工具类 UUID、Map工具类
-
Tiled怎么使用 Tiled Map Editor瓦片地图编辑器使用教程
-
js遍历详解(forEach, map, for, for...in, for...of)
-
Mybatis中返回Map
-
Python中的高级函数map/reduce使用实例
-
webpack将js打包后的map文件详解
-
ARES Map如何安装激活?CAD混合式办公软件安装激活教程
-
走进Java Map家族 (1) - HashMap实现原理分析
-
详解Vue.js搭建路由报错 router.map is not a function