引入头文件:

#include <map>
1、初始化
map<int, int> a, b;
map<sting, int> a, b;
2、添加数据
map<int ,string> maplive;
法一:maplive.insert(pair<int,string>(102,"aclive"));
法二:maplive[112]="April";//map中最简单最常用的插入添加!
3、查找数据
find()函数返回一个迭代器指向键值key的元素,如果没找到返回尾部的迭代器。

map<int ,string> maplive;
map<int ,string >::iterator result;
result=maplive.find(112);
if(l_it==maplive.end())
cout<<"we do not find 112"<<endl;
else cout<<"wo find 112"<<endl;

对于迭代器 result
result->first //存储键值key
result->second //存储数据value
4、删除数据

map<int ,string> maplive;
map<int ,string >::iterator result;
result=maplive.find(112);
if(result==maplive.end())
cout<<"we do not find 112"<<endl;
else maplive.erase(result); //delete 112;map的erase()函数的形参是迭代器。

如果全部删除 maplive.clear()
5、遍历数据

map<int ,string> maplive;
map<int ,string >::iterator result;
for ( result = maplive.begin( ); result != maplive.end( ); result++ ){
cout << " " << result->second;
cout << "." << endl;
}

6、排序
Map中的元素是自动按key升序排序,所以不能对map用sort函数:

7、map的基本操作函数:
C++ Maps是一种关联式容器,包含“关键字/值”对
begin() 返回指向map头部的迭代器
clear() 删除所有元素
count() 返回指定元素出现的次数,其中形参是key值
empty() 如果map为空则返回true
end() 返回指向map末尾的迭代器
erase() 删除一个元素
find() 查找一个元素
insert() 插入元素
key_comp() 返回比较元素key的函数
value_comp() 返回比较元素value的函数
lower_bound() 返回键值>=给定元素的第一个位置(返回结果为迭代器)(形参是key值)
upper_bound() 返回键值>给定元素的第一个位置(返回结果为迭代器)(形参是key值)
max_size() 返回可以容纳的最大元素个数
size() 返回map中元素的个数
swap() 交换两个map

最新文章

  1. chkconfig命令详解
  2. ASP.NET MVC
  3. 4个http常用的content type
  4. win7下制作ubuntu系统安装启动盘和U盘安装ubuntu全过程
  5. js不能执行,IE处理方法
  6. CENTOS运行报错java.lang.OutOfMemoryError
  7. 【Chromium中文文档】Chrom{e,ium}{,OS}中的硬件视频加速
  8. Java 自定义日志写入
  9. 通过JS将BSAE64生成图片并下载
  10. 程序员如何让自己 Be Cloud Native - 配置篇
  11. NOIP2011 D2T3 观光公交 做题笔记
  12. Codeforces Round #518 (Div. 2) B LCM
  13. 基于vue移动音乐webapp跨域请求失败的问题解决
  14. DevExpress的42种窗体样式
  15. Stackoverflow 珠玑:用于分组的 LINQ 扩展方法
  16. mockito简单教程
  17. 何为用户体验?附《用户体验的要素》PDF版下载
  18. noexcept(c++11)
  19. google glog 使用方法
  20. Springboot+shiro配置笔记+错误小结

热门文章

  1. Tomcat启动报错:严重: StandardServer.await: create[8005] java.net.BindException: Cannot assign requested address
  2. C++:纯虚函数与抽象类
  3. GridView 和ListView中自适应高度
  4. 通过jcifs.jar 创建远程文件和文件夹
  5. 10、JPA_映射双向多对多的关联关系
  6. BeanFactory 和 ApplicationContext
  7. 浅谈PHP自动化代码审计技术
  8. A06_RelativeLayout的属性设置
  9. Java知识点:琐碎知识点(2)
  10. hdu 5310 Souvenir (水)