C++标准库map类型

来源:互联网 发布:2017最新网络综艺节目 编辑:程序博客网 时间:2024/05/22 00:27

map是一种关联容器,所谓的关联容器是指支持高效的关键字查找和访问。map中的元素为一些关键字-值(key-value)对,关键字起到索引值的作用,且map中的元素是按照关键字升序排序的。还有map是个映射,所以它的关键字和值是一一对应的。接下来就为大家介绍map的用法

1.map的定义

我们可以用如下方法定义或初始化map

//空容器map<int,string> m1;//值初始化mapmap<string,string> m2 = {{"001","shreck"},{"002","leo"}}; 

2.为map添加元素

我们可以用如下方法为map添加元素

map<string,string> m;//方法一m.insert(pair<string,string>("001",""shreck));//方法二m.insert(map<string,string>::value_type("002",""leo));//方法三m[2] = "lewin";

3.map中查找某个元素

我们使用find函数来查找map中的元素,若查找失败则返回尾部迭代器
find函数具体用法实例如下

#include<iostream>#include<map>using namespace std;int main(int argc,char **argv){    map<int,string> m;    m[0] = "shreck";    m[1] = "leo";    //使用find函数查找leo    auto it = m.find(1);    if(it == m.end())    {        cout<<"未找到该元素"<<endl;    }    else    {        cout<<"该元素为:"<<it->second<<endl;    }    return 0;}

4.map的删除

map的删除方法有三种
(1)传递给erase一个迭代器
(2)传递给erase一个迭代器对
(3)传递给erase一个key_value
map的删除方法如下实例

#include<iostream>#include<map>using namespace std;//遍历函数void print(const map<int,string> &m){    for(auto x:m)    {        cout<<x.second<<" ";    }    cout<<endl;}int main(int argc,char **argv){    map<int,string> m;    m[0] = "shreck";    m[1] = "leo";    m[2] = "lewin";    m[3] = "lyh";    m[4] = "lz";    //传一个迭代器    auto it1 = m.find(2);    m.erase(it1);    print(m);    //传一对迭代器    auto it2 = m.find(1);    auto it3 = m.find(4);    m.erase(it2,it3);    print(m);    //传一个key_value    m.erase(0);    print(m);    return 0;}

5.map的一些基本操作函数

函数 作用 begin() 返回map的头部迭代器 end() 返回指向map末尾的尾部迭代器 clear() 删除容器中所有元素 empty() 判断map是否为空 erase() 删除map中的元素 find() 查找一个元素 insert() 插入一个元素 size() 返回map中的元素个数 max_size() 返回map可容纳的最大元素个数 lower_bound() 指向第一个关键字不小于K的元素 upper_bound() 指向第一个关键字大于k的元素
0 0
原创粉丝点击