C++容器map的基本操作和使用
来源:互联网 发布:儿童防沉迷软件 ipad 编辑:程序博客网 时间:2024/05/16 17:57
Map是c++的一个标准容器,它提供了很好的一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,下面是总结的一些map基本简单实用的操作:
(1)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;
(2)map添加数据;
map<int,string>maplive;
maplive.insert(pair<int,string(102,"aclive"));
maplive.insert(map<int,string>::value_type(321,"hai"));
maplive[112]="April"; //map中最简单最常用的插入添加!
(3)map中元素的查找:
find()函数返回一个迭代器指向键值为key的元素,如果没找到就返回指向map尾部的迭代器。
map<int,string>::iteratorl_it;
l_it=maplive.find(112);
if(l_it==maplive.end())
cout<<"wedonotfind112"<<endl;
else
cout<<"wofind112"<<endl;
(4)map中元素的删除:
如果删除112;
map<int,string>::iteratorl_it;
l_it=maplive.find(112);
if(l_it==maplive.end())
cout<<"wedonotfind112"<<endl;
else
maplive.erase(l_it); //delete112;、
(5)map中swap的用法:
Map中的swap不是一个容器中的元素交换,而是两个容器交换;
如下代码:
intmain(){ map<int,int>m1,m2,m3; map<int,int>::iteratorm1_Iter; m1.insert(pair<int,int>(1,10)); m1.insert(pair<int,int>(2,20)); m1.insert(pair<int,int>(3,30)); m2.insert(pair<int,int>(10,100)); m2.insert(pair<int,int>(20,200)); m3.insert(pair<int,int>(30,300)); cout<<"Theoriginalmapm1is:"; for(m1_Iter=m1.begin();m1_Iter!=m1.end();m1_Iter++) { cout<<""<<m1_Iter->second; cout<<"."<<endl; } m1.swap(m2); cout<<"Afterswappingwithm2,mapm1is:"; for(m1_Iter=m1.begin();m1_Iter!=m1.end();m1_Iter++) { cout<<""<<m1_Iter->second; cout<<"."<<endl; } cout<<"Afterswappingwithm2,mapm2is:"; for(m1_Iter=m2.begin();m1_Iter!=m2.end();m1_Iter++) { cout<<""<<m1_Iter->second; cout<<"."<<endl; } swap(m1,m3); cout<<"Afterswappingwithm3,mapm1is:"; for(m1_Iter=m1.begin();m1_Iter!=m1.end();m1_Iter++) { cout<<""<<m1_Iter->second; cout<<"."<<endl; }}
(6)map的sort问题:
Map中的元素是自动按key升序排序,所以不能对map用sort函数:
如下代码:
#include<map>#include<iostream>using namespace std;intmain(){ map<int,int>m1; map<int,int>::iteratorm1_Iter; m1.insert(pair<int,int>(1,20)); m1.insert(pair<int,int>(4,40)); m1.insert(pair<int,int>(3,60)); m1.insert(pair<int,int>(2,50)); m1.insert(pair<int,int>(6,40)); m1.insert(pair<int,int>(7,30)); cout<<"Theoriginalmapm1is:"<<endl; for(m1_Iter=m1.begin();m1_Iter!=m1.end();m1_Iter++) cout<<m1_Iter->first<<""<<m1_Iter->second<<endl;}
最后的结果为:
Theoriginalmapm1is:
1 20
2 50
3 60
4 40
6 40
7 30
(7)map的基本操作函数:
C++Maps是一种关联式容器,包含“关键字/值”对
begin() 返回指向map头部的迭代器
clear() 删除所有元素
count() 返回指定元素出现的次数empty()如果map为空则返回trueend()返回指向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的函数
- C++map的基本操作和使用
- C++map的基本操作和使用
- C++map的基本操作和使用
- C++map的基本操作和使用
- C++map的基本操作和使用
- C++map的基本操作和使用
- C++map的基本操作和使用
- C++map的基本操作和使用
- C++map的基本操作和使用
- C++map的基本操作和使用
- C++map的基本操作和使用
- C++map的基本操作和使用
- C++map的基本操作和使用
- C++map的基本操作和使用
- C++map的基本操作和使用
- C++容器map的基本操作和使用
- [C++][STL][map]C++ map的基本操作和使用
- map容器的基本操作
- java qrcode 生成二维码
- 【Tensorflow】tf.cast 类型转换 函数
- form 提交之前如何验证数值文本框的内容全部为数字
- 在Ubuntu下安装Qt creator
- RHEL-RH134-UNIT3-系统延迟及定时机制
- C++容器map的基本操作和使用
- 使用模板导出Excel
- 关于我在黑马程序员培训毕业后的亲身体验
- 序列化和反序列化的简单理解
- 高清网络摄像机主流芯片方案之安霸、TI和海思对比
- Calendar日期时间类
- 设计模式之策略模式
- 【脚本语言系列】关于Python测试工具Pyflakes, 你需要知道的事
- 二叉树