map关联式容器简单使用

map是关联式容器中的一种类型,其特点区别于序列式容器,序列式容器只是存储数据,如果取数据不是很方便,而关联式容器则是每一个数值对应一个键值,针对不同的键值可以取出对应的数据

简单的演示代码如下,默认对键值是升序排列的

#include<iostream>
#include<map>
#include<string>


using namespace std;

int main(int argc,char** argv)
{
        map<string,string> mymap;
        mymap["laozhang"]="haha";
        mymap["laowang"]="hehe";
        mymap["laoxiang"]="hengheng";
        for(map<string,string>::iterator it=mymap.begin();it!=mymap.end();it++){
                cout<<it->first<<"=>"<<it->second<<endl;}

        map<string,string,greater<string>> mymap1;
        mymap1.emplace("dog","wangwang");
        mymap1.emplace("cat","miaomiao");
        mymap1.emplace("pig","engheng");
        cout<<"mymap1 size"<<mymap1.size()<<endl;
        if(!mymap1.empty()){
                for(map<string,string,greater<string>>::iterator i=mymap1.begin();i!=mymap1.end();i++){
                        cout<<i->first<<"=>"<<i->second<<endl;}

        auto iter =mymap1.find("cat");
        cout<<"cat shout:"<<iter->first<<"=>"<<iter->second<<endl;
        cout<<"dog shout:"<<mymap1["dog"]<<endl;
        cout<<"pig shout:"<<mymap1.at("pig")<<endl;
        }
        return 0;
}

 

 

如何插入键值对有三种方法  insert()  emplace() emplace_hint()  后面两种效率高

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值