欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

\

程序员文章站 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相似。