ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C++ STL Map - 基础用法

2022-05-08 12:33:32  阅读:163  来源: 互联网

标签:Map 迭代 iterator map STL iter flag C++ key


Map用法

声明

// map<Type,Type>name;
map <int,bool> flag;

基础函数

插入元素

map <int,bool> flag;
// 使用insert插入的元素互异,即当使用insert插入的数据出现相同key时,插入语句不起作用
// 使用array方式插入的元素覆盖原key所对应的value

// insert插入pair
flag.insert(pair<int,bool>(77,flase));
// insert插入value_type数据
flag.insert(map<int,bool>::value_type(79,true));
// array插入
falg[75]=false;

查找元素

// flag.find(key)
// find()函数返回key所对应的地址【如果key存在的话】,地址可以用迭代器承接
// 如果key不存在,find会遍历到map结尾,返回最后的地址,即flag.end()
// 如下:如果key为77的value不存在,flag.find(77)=flag.end()
map <int,bool>::iterator iterflag; 
iterflag=flag.find(77);

删除与清空元素

// 迭代器删除
map <int,bool>::iterator iter; 
iter=flag.find(77);
flag.erase(iter);
// 清空map
flag.erase(flag.begin(),flag.end());
// 关键字删除 flag.erase(key),删除成功返回1,否则返回0

Map的大小

// flag.size() 返回map中元素的个数

其他用法

mapname.begin()

mapname.end()

mapname.empty()

mapname.count()

mapname.erase()

Map迭代器

声明

map <type,type>::iterator itername;

迭代器遍历

map <int,bool> flag;
map <int,bool>::iterator iter;
for(iter=flag.begin();iter!=flag.end();iter++){}

迭代器访问元素

map <int,bool>::iterator iter;
// iter->first 指向iter元素的key,返回key值
// iter->second 指向iter元素的value,返回value值

// 反向迭代器 reverse_iterator
// 反向迭代器从map的末尾开始遍历
map <int,bool>::reverse_iterator reiter;

标签:Map,迭代,iterator,map,STL,iter,flag,C++,key
来源: https://www.cnblogs.com/Muhuai/p/16245265.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有