当前位置: 首页 > news >正文

门户网站建设情况简介深圳推广公司哪家正规

门户网站建设情况简介,深圳推广公司哪家正规,2018 84号建设厅网站,做药的常用网站有哪些C 中,map 是关联容器的一种,关联容器将值与键关联到一起,并使用键来查找值。这与 python 中的字典类型类似,也是用来存储键值对(key-value) 形式的数据,正如vector可以简单对应到列表。键不能有…

C++ 中,map 是关联容器的一种,关联容器将值与键关联到一起,并使用键来查找值。这与 python 中的字典类型类似,也是用来存储键值对(key-value) 形式的数据,正如vector可以简单对应到列表。键不能有重复的,值可以重复,map的内部自建一个红黑树,系统会根据键来自动将数据排序。

map的value_type是pair<const key_type, mapped_type>,所以map迭代器只能改变关键字映射的值(mapped_type),不能修改关键字;set的value_type等于key_type,都是const关键字,不能修改。


声明

头文件:

#include <map>

类型的定义:

map<KeyType, ValueType> dict;

数据遍历

直接遍历:

map<char,char> mp={{'(',')'},{'[',']'},{'{','}'},{'y','x'}};
for(auto c : mp) 
{cout << c.first << ": " << c.second << endl;
}

使用迭代器遍历:

auto map_it = mp.begin();  // 获取指向首元素的迭代器
// 判断范围,比较当前迭代器和尾后元素迭代器
while (map_it != mp.end())
{cout << map_it->first << ": " << map_it->second << endl;map_it++;  // 迭代器递增,移动到下一个元素
}

查找元素:

if (mp.find('y') != mp.end()){cout << mp.find('y')->second << endl;
}else{cout << "NOT FONUND" << endl;
}

添加元素

map<int,string> student;
stu.insert(map<int,string>::value_type(1,"Jerry"));//第一种
stu.insert(pair<int,string>(2,"Tom"));//第二种
stu[3] = "Meg";//第三种

前两种方法当map中已经存在这个关键字时,insert 操作是无法插入的。但是第三种方法用数组的方式可以,但会直接覆盖掉原先的数据。


删除元素

dict.erase(key)//删除键为 key 的元素
dict.erase(p)//删除迭代器p指定的元素,p不能为mp.end()
dict.erase(a, b)//删除迭代器a和b之间的元素,返回e

与unordered_map的区别

头文件不同:

#include < unordered_map >

内部实现机理不同:
map内部实现了一个红黑树,红黑树具有自动排序的功能,因此map内部的所有元素都是有序的,map进行的查找,删除,添加等一系列的操作都相当于是对红黑树进行的操作,map中的元素是按照二叉搜索树(又名二叉查找树、二叉排序树,特点就是左子树上所有节点的键值都小于根节点的键值,右子树所有节点的键值都大于根节点的键值)存储的,使用中序遍历可将键值按照从小到大遍历出来。

unordered_map内部实现了一个哈希表,其元素的排列顺序是无序的,对于查找问题,unordered_map会更加高效一些,因此遇到查找问题,常会考虑一下用unordered_map。

使用:
unordered_map的用法和map是一样的,提供了 insert,size,count等操作,并且里面的元素也是以pair类型来存贮的。其底层实现完全不同,但是就外部使用来说却是一致的。

http://www.dtcms.com/a/496825.html

相关文章:

  • linux——基本操作指令——下
  • 免费的外贸网站推广方法教育类网站 前置审批
  • 广东集团网站建设杭州富阳建设局网站首页
  • 网站建设需要些什么设备wordpress 底部按钮
  • 建设企业网站的模式帮助中心网站源码
  • 9. 数列
  • 建设区服务网站怎么学做电商然后自己创业
  • 公司如何组建网站网站建设旗帜条幅
  • 网站建设的投资预算怎么写关键词seo排名怎么选
  • 兰州网站seo按天计费医疗公司网站建设项目背景
  • linux学习笔记(36)mysql事务详解
  • 【Linux权限机制深入理解】为何没有目录写权限仍能修改文件权限?
  • 网站cms青海网站建设费用
  • Zabbix 监控系统触发器、报警、邮箱方位指南
  • 网站设计三原则推广软文平台
  • 从零学算法3355
  • 北京企业网站怎么建设深圳网站专业建设公司
  • 第七篇《IPv4地址详解:A、B、C类地址是如何划分的?》
  • 专注电子商务网站建设淘金企业网站建设
  • 网站建设和挂标情况清理表一份完整的活动策划方案
  • 算法专题十三:栈
  • 网站创建的流程是什么网站免费正能量软件下载
  • YOLOv3 深度解析:目标检测领域的经典革新
  • pc端网站模型建设工具wordpress 插件有后门
  • 网站怎么做下载苏州集团网站设计公司
  • 井祥交通建设工程有限公司 网站免备案做网站可以盈利吗
  • 36-基于STM32的智能鱼缸设计与实现
  • 什么网站容易做百度权重建立自我
  • 为什么不能直接从外存加载到显存上??
  • 做视频网站需要多大带宽恒信在线做彩票的是什么样的网站