IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> c++中map的相关函数及用法(整理) -> 正文阅读

[C++知识库]c++中map的相关函数及用法(整理)

map是STL提供的关联容器,提供一对一的hash,以(key,value)的形式存在,可以储存任意类型的数据。map中的元素自动按key的升序排序。
头文件:#include<map>
定义:
map<char,int> temp1;
map<int,string> temp2;
访问:
通过下标访问:temp1[‘c’],temp2[i];
通过迭代器进行访问:it->first访问key,it->second访问value;
例:map<char,int>::iterator it;
it=temp1.begin();
添加数据:
insert函数插入pair数据:temp2.insert(pair<int,string>(1,”sss”));
insert函数插入value_type数据:temp2.insert(map<int,string>::value_type(2,”ssss”));
数组方式插入:temp[2]=”ssssss”;{可以覆盖之前的赋值}
查找元素:
find(key):返回一个迭代器指向键值为key的元素,没找到返回指向map尾部的迭代器;
删除元素:
?迭代器删除:it=temp2.find(“1”); temp2.erase(it);
?关键字删除:int res=temp2.erase(“1”);{删除会返回1,否则返回0};
?迭代器范围删除:temp2.erase(temp2.begin()+m,temp2.end()-n);{0<=m,n<map长度};
?删除所有元素:temp2.clear();
map的基本操作函数:
1.返回指定元素的个数:temp1.count("a");
2.返回map中元素的个数:temp1.size();
3.交换两个map:swap(temp1,temp);
4.返回可以容纳的最大元素个数:temp2.max_size();
5.判断map是否为空:temp1.empty();
6.逆向迭代器:map<int,string>::reverse_iterator it;指向尾部temp1.rbegin();指向头部temp1.rend();
7.返回特殊条目的迭代器对:返回一对迭代器i和j,i为不破坏次序的前提下,value可以插入的第一个位置lower_bound;j为在不破坏次序的前提下,value可插入的最后一个位置upper_bound;[i,j)的每个元素都等同于value,且[i,j)是[first,last)内符合这一性质的最大子区间。
例:pair<map<char,int>::iterator,map<char,int>::iterator> ret=temp1.equal_range(‘b’);
8.返回与map关联的配置器:
map<char,int>::allocator_type m=temp1.get_allocator();{m=allocator<pair<char,int>>};
9.返回比较元素key的容器使用的比较对象:
map<char,int>::key_compare mycomp=temp1.key_comp();
char high=temp1.rbegin()->first;
it=temp1.begin();

do{
cout<<it->first<<”=>”<<it->second<<endl;
}while(mycomp((*it++).first,high)){key值为high时,循环终止}
10.返回比较元素value的函数:
it=temp1.begin();
pair<int,char> last=*temp1.rbegin();
do{
cout<<it->first<<”=>”<<it->second<<endl;
}while(temp1.value_comp()(*it++,last));{value值为last时,循环终止}

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-07-04 22:37:15  更:2022-07-04 22:38:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 16:49:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码