博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++ STL之map常用指令
阅读量:6328 次
发布时间:2019-06-22

本文共 1006 字,大约阅读时间需要 3 分钟。

只记载本人在ACM中常用的函数。

map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力。

map内部为一颗红黑树。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能修改key。

1、初始化

map<int, string> m;

2、插入元素

m[1] = "aaa";

m[2] = "bbb";

m.insert (map<int, string> :: value_type(3, "ccc"));  //因为上面那种插入方法是先在m里插入关键字2,此时将值元素为缺省值,然后再对值元素赋值                               //所以如果值元素是类的话,下面这种插入方式时间开销比较小。

3、[]访问

string s = m[1];  //使用前先用find或者count来判断map中是否含有关键值1

4、find查找

map<int, string>::iterator it = m.find(3);        //find返回的是迭代器,而该迭代器指向的数据类型是pair

if (it == m.end()) tst ("no");
else cout << it->first << " " << it->second << endl;

5、count计数

int num = m.count(3);  //返回m中有多少个关键字为3,此处只可能是1或0

6、erase删除

  1. iterator erase(iterator it); //通过一个条目对象删除
  2. iterator erase(iterator first, iterator last);        //删除一个范围
  3. size_type erase(const Key& key); //通过关键字删除

7、clear清空

8、empty容器为空返回true

9、size返回元素个数

9、lower_bound返回键值>=给定元素的第一个位置(迭代器)

10、upper_bound返回键值>给定元素的第一个位置(迭代器)

 

推荐文章

转载于:https://www.cnblogs.com/plumrain/p/stl_map.html

你可能感兴趣的文章
汇聚内容页关键词优化的小窍门
查看>>
mysql禁用autocommit,以及遇到的问题(转)
查看>>
巧用MySQL InnoDB引擎锁机制解决死锁问题(转)
查看>>
rpc框架之avro 学习 1 - hello world
查看>>
Shiro Review——自定义Realm实现认证
查看>>
解决微信底部弹出输入法遮挡页面
查看>>
5G明确C波段频率使用规划的5层意义
查看>>
java-多线程 | 实现方式
查看>>
[leveldb] 初探 leveldb
查看>>
KNIMI数据挖掘建模与分析系列_003_利用KNIMI做客户细分
查看>>
GridView控件自定义分页的实现
查看>>
从一道算法题说去1
查看>>
linux route命令的使用详解
查看>>
SharePoint 2013 网站搜索规则的使用示例
查看>>
Spark-SparkSQL深入学习系列九(转自OopsOutOfMemory)
查看>>
[WCF REST] 通过ASP.NET Output Caching实现声明式缓存
查看>>
大学生面试成功的十大法宝
查看>>
纳斯达克CEO:我们与ICO保持距离
查看>>
Docker入门教程(九)10个镜像相关的API
查看>>
前置++/--和后置++/--
查看>>