关联容器操作

1.关联容器类型

           map            保存{关键字,值}对的顺序容器

           unordered_map     不会进行自动排序,用hash函数组织

           multimap                 这两个的关键字可以重复出现,不会合并

           unordered_multimap

2. 初始化

1.空的容器 

map<string,int> word_count ;

2.列表初始化

map<string,string> aut ={ {li , hua}, {wang, ming}, {zhang, san} };

3.pair 类型

//创建
pair<T1,T2> p;
pair <T1,T2> p (v1,v2);
pair <T1,T2> p ={v1,v2};

//返回pair成员 p.first; p.second;

//比较关键字 p1==p2 p1>p2

4.查找元素

c.find(k)  //返回一个迭代器,指向第一个关键字为k的元素,若k不在容器 
                 里,则返回尾后迭代器

5.添加删除元素

//结合find使用
if( c.find(k)==c.end() )
    c.insert({k,v} );

//可以使用++,如果从c[k]不存在,会先创建,再加1
c[k]++

//删除操作
c.erase(k); //通过关键字删除 返回删除元素的数量

c.erase(p) ;//通过迭代器删除,返回p之后元素的迭代器

c,erase(p1 , p2); //删除 p1, p2 迭代器对 范围内的元素,左闭右开,返回p2


 

 

       

posted @ 2021-06-02 12:29  失败者_ant  阅读(41)  评论(0编辑  收藏  举报