STL--map

map:
概念:可以将map看作是由Key标识元素的元素集合,这类容器也被称为“关联容器”
头文件:#include<map>
定义:map<int,string>mp;</map>

map的基本操作:

/*  向map中插入元素  */
m[key] = value; //  [key]操作是map很有特色的操作,如果在map中存在键值为key的元素对, 则返回该元素对的值域部分,否则将会创建一个键值为key的元素对,值域为默认值。所以可以用该操作向map中插入元素对或修改已经存在的元素对的值域部分。
m.insert(make_pair(key, value));    //  也可以直接调用insert方法插入元素对,insert操作会返回一个pair,当map中没有与key相匹配的键值时,其first是指向插入元素对的迭代器,其second为true;若map中已经存在与key相等的键值时,其first是指向该元素对的迭代器,second为false。

/*  查找元素  */
int i = m[key]; //  要注意的是,当与该键值相匹配的元素对不存在时,会创建键值为key(当另一个元素是整形时,m[key]=0)的元素对。
map<string, int>::iterator it = m.find(key);    //  如果map中存在与key相匹配的键值时,find操作将返回指向该元素对的迭代器,否则,返回的迭代器等于map的end()(参见vector中提到的begin()和end()操作)。

/*  删除元素  */
m.erase(key);   //  删除与指定key键值相匹配的元素对,并返回被删除的元素的个数。
m.erase(it);    //  删除由迭代器it所指定的元素对,并返回指向下一个元素对的迭代器。

/*  其他操作  */
m.size();       //  返回元素个数
m.empty();      //  判断是否为空
m.clear();      //  清空所有元素

代码示例为:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    map<int,string>mp;
    mp[1]="hellp";
    mp[2]="yes";
    mp.insert(make_pair(3,"good"));
    string s=mp[3];
    cout<<mp.size()<<endl;
    cout<<s<<endl;
    cout<<mp[1]<<endl;
    if(mp.empty()==true)
    {
        cout<<"yes"<<endl;
    }
    mp.clear();
    return 0;
 } 

结果如图所示:
图片说明
引用参考:
mp的用法

全部评论

相关推荐

废铁汽车人:秋招真是牛鬼蛇神齐聚一堂
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务