Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!
. map最基本的构造函数;
map<string , int >mapstring; map<int ,string >mapint;
map<sring, char>mapstring; map< char ,string>mapchar;
map<char ,int>mapchar; map<int ,char >mapint;
. map添加数据;
map<int ,string> maplive;
.maplive.insert(pair<int,string>(,"aclive"));
.maplive.insert(map<int,string>::value_type(,"hai"));
, maplive[]="April";//map中最简单最常用的插入添加!
,map中元素的查找:
find()函数返回一个迭代器指向键值为key的元素,如果没找到就返回指向map尾部的迭代器。
map<int ,string >::iterator l_it;;
l_it=maplive.find();
if(l_it==maplive.end())
cout<<"we do not find 112"<<endl;
else cout<<"wo find 112"<<endl;
,map中元素的删除:
如果删除112;
map<int ,string >::iterator l_it;;
l_it=maplive.find();
if(l_it==maplive.end())
cout<<"we do not find 112"<<endl;
else maplive.erase(l_it); //delete 112;
,map中 swap的用法:
Map中的swap不是一个容器中的元素交换,而是两个容器交换;
For example:
#include <map>
#include <iostream>
using namespace std;
int main( )
{
map <int, int> m1, m2, m3;
map <int, int>::iterator m1_Iter;
m1.insert ( pair <int, int> ( , ) );
m1.insert ( pair <int, int> ( , ) );
m1.insert ( pair <int, int> ( , ) );
m2.insert ( pair <int, int> ( , ) );
m2.insert ( pair <int, int> ( , ) );
m3.insert ( pair <int, int> ( , ) );
cout << "The original map m1 is:";
for ( m1_Iter = m1.begin( ); m1_Iter != m1.end( ); m1_Iter++ )
cout << " " << m1_Iter->second;
cout << "." << endl;
// This is the member function version of swap
//m2 is said to be the argument map; m1 the target map
m1.swap( m2 );
cout << "After swapping with m2, map m1 is:";
for ( m1_Iter = m1.begin( ); m1_Iter != m1.end( ); m1_Iter++ )
cout << " " << m1_Iter -> second;
cout << "." << endl;
cout << "After swapping with m2, map m2 is:";
for ( m1_Iter = m2.begin( ); m1_Iter != m2.end( ); m1_Iter++ )
cout << " " << m1_Iter -> second;
cout << "." << endl;
// This is the specialized template version of swap
swap( m1, m3 );
cout << "After swapping with m3, map m1 is:";
for ( m1_Iter = m1.begin( ); m1_Iter != m1.end( ); m1_Iter++ )
cout << " " << m1_Iter -> second;
cout << "." << endl;
}
.map的sort问题:
Map中的元素是自动按key升序排序,所以不能对map用sort函数:
For example:
#include <map>
#include <iostream>
using namespace std;
int main( )
{
map <int, int> m1;
map <int, int>::iterator m1_Iter;
m1.insert ( pair <int, int> ( , ) );
m1.insert ( pair <int, int> ( , ) );
m1.insert ( pair <int, int> ( , ) );
m1.insert ( pair <int, int> ( , ) );
m1.insert ( pair <int, int> ( , ) );
m1.insert ( pair <int, int> ( , ) );
cout << "The original map m1 is:"<<endl;
for ( m1_Iter = m1.begin( ); m1_Iter != m1.end( ); m1_Iter++ )
cout << m1_Iter->first<<" "<<m1_Iter->second<<endl; }
The original map m1 is: 请按任意键继续. . .
, map的基本操作函数:
C++ Maps是一种关联式容器,包含“关键字/值”对
begin() 返回指向map头部的迭代器
clear() 删除所有元素
count() 返回指定元素出现的次数
empty() 如果map为空则返回true
end() 返回指向map末尾的迭代器
equal_range() 返回特殊条目的迭代器对
erase() 删除一个元素
find() 查找一个元素
get_allocator() 返回map的配置器
insert() 插入元素
key_comp() 返回比较元素key的函数
lower_bound() 返回键值>=给定元素的第一个位置
max_size() 返回可以容纳的最大元素个数
rbegin() 返回一个指向map尾部的逆向迭代器
rend() 返回一个指向map头部的逆向迭代器
size() 返回map中元素的个数
swap() 交换两个map
upper_bound() 返回键值>给定元素的第一个位置
value_comp() 返回比较元素value的函数

https://blog.csdn.net/yas12345678/article/details/52601624

最新文章

  1. Python连接MySQL
  2. Unity3d发布成exe项目后的设置(全屏自适应屏幕大小)
  3. 转 关于C#中派生类调用基类构造函数的理解
  4. C++ json库jsoncpp 吐槽
  5. Oracle EBS中查询Profile的各种SQL【转载】
  6. POJ 3678
  7. JUnit学习总结
  8. div:给div加滚动栏 div的滚动栏设置
  9. WEKA,一个开源java的数据挖掘工具
  10. python爬虫---python3.5---eclipse
  11. WinForm中控件位置不随窗体大小的变化而改变
  12. 【开发技术】Java生成验证码
  13. 第二章 在HTML中使用JS
  14. Java中的return关键字
  15. UOJ_274_[清华集训2016]温暖会指引我们前行_LCT
  16. 设计模式之代理模式(Proxy)(2)
  17. python 练习3
  18. 【codevs4927】线段树练习
  19. ELK实时日志分析平台环境部署--完整记录
  20. TTL反相器的外部特性

热门文章

  1. PAT 乙级 1008 数组元素循环右移问题 (20) C++版
  2. java学习——异常处理机制
  3. org.apache.ibatis.binding.BindingException: Parameter &#39;idList&#39; not found解决办法
  4. mongodb windows的安装方法和添加到任务管理器中、检测是否成功、增删改查命令
  5. [UE4]UE4是单线程的吗?
  6. centos7开启端口(永久--permanent)
  7. 阿里云ECS安装的redis服务器,用java代码去连接报错。
  8. 挂载本地iso镜像
  9. sas 获取字符串长度实例
  10. springboot通过poi导出excel