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

内容网站外贸网站外贸网站建设行吗

内容网站,外贸网站外贸网站建设行吗,腾讯云wordpress,百度一下你就知道官网网址这是关于一个普通双非本科大一学生的C的学习记录贴 在此前#xff0c;我学了一点点C语言还有简单的数据结构#xff0c;如果有小伙伴想和我一起学习的#xff0c;可以私信我交流分享学习资料 那么开启正题 今天分享的是关于set和map的知识点 1.关联式容器 在前面#…这是关于一个普通双非本科大一学生的C的学习记录贴 在此前我学了一点点C语言还有简单的数据结构如果有小伙伴想和我一起学习的可以私信我交流分享学习资料 那么开启正题 今天分享的是关于set和map的知识点 1.关联式容器 在前面我们已经学习了STL的部分容器如vectorlistdeque这些容器被称为序列式容器因为底层是线性序列的数据结构里面存储的是元素本身那么什么是关联式容器呢 关联式容器也是用来存储数据的与序列式容器不同的是其里面存储的是key value结构的键值对在数据检索时比序列式容器效率更高 2.键值对 键值对是用来表示具有一一对应关系的一种结构该结构中一般只包含两个成员变量key和valuekey代表键值value表示与key对应的信息 如假设我们现在要建立一个英汉互译的字典那么该字典中必然有英文单词与其对应的信息而且它们是一一对应的关系即通过单词可以找到其对应的中文 templateclass T1, class T2 struct paic {typedef T1 first_type;typedef T2 second_tyde;T1 first;T2 second;paic():first(T1()),second(T2()){}paic(const T1 a, const T2 b):first(a),frist(b){} }; 3.树形结构的关联式容器 根据应用场景不同STL实现了两种不同结构的管理式容器树型结构与哈希结构树形结构的关联式容器主要有四种mapsetmultimapmultiset这四种容器的公共特点是使用平衡搜索树即红黑树作为其底层的结果容器中的元素是一个有序的序列 4.set 4.1关于set 1.与map/multimpa中存储真正的键值对keyvalue不同set中只放value但在底层实际存放的是valuevalue构成的键值对 2.set中插入元素时直接插入value即可不需要构造键值对 3.set中的元素不可以重复multi_set不同因此可以利用set进行去重 4.使用set的迭代器遍历set的元素可以得到有序序列 5.set中查找元素的时间复杂度为O(logN) 6.set在底层是用二叉搜索树红黑树实现的 4.2set的使用 4.2.1set的构造 set (const Compare comp Compare(), const Allocator Allocator() ); //构造空的set set ( const setKey,Compare,Allocator x); //set的拷贝构造 4.2.2set的修改操作 pairiterator,bool insert ( const value_type x ) //在set中插入元素x实际插入的是x, x构成的 键值对如果插入成功返回该元素在set中的 位置true,如果插入失败说明x在set中已经 存在返回x在set中的位置falsevoid erase ( iterator position ) //删除set中position位置上的元素void swap ( setKey,Compare,Allocator st ); //交换set中的元素void clear ( ) //将set中的元素清空iterator find ( const key_type x ) const //返回set中值为x的元素的位置 4.2.3set的迭代器 set迭代器用法很简单这里不在给出后面模拟实现再详细理解底层是如何实现的 4.2.4举例代码 void Print(setint s) {setint::iterator it s.begin();while (it ! s.end()){cout *it ;it;}cout endl; }void Test_set1() {setint s;s.insert(1);s.insert(9);s.insert(3);s.insert(1);s.insert(1);Print(s);s.erase(1);Print(s);setint::iterator pos s.find(5);s.erase(5);pos find(s.begin(), s.end(), 5);if (pos ! s.end()){s.erase(pos);} } 5.map 5.1关于map 1.在map中键值key通常用于排序和惟一地标识元素而值value中存储与此键值key关联的 内容。键值key和值value的类型可能不同并且在map的内部key与value通过成员类型 value_type绑定在一起为其取别名称为pair 2.在内部map中的元素总是按照键值key进行比较排序的 3.map支持下标访问符即在[]中放入key就可以找到与key对应的value 4.map通常被实现为二叉搜索树红黑树 5.2的使用 5.2.1map的构造 map() //构造一个空的map5.2.2map的容量与元素访问 bool empty ( ) const //检测map中的元素是否为空是返回 //true否则返回falsesize_type size() const //返回map中有效元素的个数mapped_type operator[] (const key_type k) //返回去key对应的value5.2.3map的修改操作 pairiterator,bool insert ( const value_type x ) //在map中插入键值对x注意x是一个键值 对返回值也是键值对iterator代表新插入 元素的位置bool代表释放插入成功void erase ( iterator position ) //删除position位置上的元素size_type erase ( const key_type x ) //删除键值为x的元素void erase ( iterator first, iterator last ) //删除[first, last)区间中的元素void swap ( mapKey,T,Compare,Allocator mp ) //交换两个map中的元素void clear ( ) //将map中的元素清空iterator find ( const key_type x ) //在map中插入key为x的元素找到返回该元 素的位置的迭代器否则返回end 5.2.4map的迭代器 map迭代器用法很简单这里不在给出后面模拟实现再详细理解底层是如何实现的 5.2.5举例代码 void Test_map1() {mapstring, int m;m.insert(make_pair(苹果, 1));m.insert(make_pair(香蕉, 3));m.insert(make_pair(桃子, 5));m.insert(make_pair(樱桃, 4));mapstring, int::iterator it m.begin();while (it ! m.end()){cout it-first : it-second endl;it;}cout endl; } 新手写博客有不对的位置希望大佬们能够指出也谢谢大家能看到这里让我们一起学习进步吧
http://www.zqtcl.cn/news/115146/

相关文章:

  • 什么是网络营销定义北京网站关键词优化
  • 开奖视频网站开发成都优化官网公司
  • 网站开发培训学校互联网软件外包平台
  • 房屋网签查询系统官方网站建设网站总经理讲话范本
  • 创建网站好的平台罗湖网站建设优化
  • 青海兴远建设工程有限公司网站wordpress怎么设计网站
  • 泉州建站公司模板马云谈2025的房价
  • 动漫制作专业什么电脑最适合沈阳关键词优化报价
  • seo企业网站源码虚拟主机如何建设多个网站
  • 电商 网站模板借钱软件推广微信hyhyk1
  • 免费网站模板psd建网站程序工具
  • 企业建设网站专业服务网站设置文件夹权限
  • 用ip做网站威海市城乡建设局网站
  • 网页网站开发设计工作前景做网站 兼职
  • c 网站开发类似优酷乐山旅游英文网站建设
  • 网站空间租用哪家好小程序免费制作平台企业中心
  • 个人网站可以做哪些主题网站别人做的收到方正侵权
  • 网站seo最新优化方法网络营销做的好的企业
  • 做网站如何防止被坑做的网站第二年续费多钱
  • 做网站注意哪些方面聊城住房建设局网站
  • ftp wordpress 搬站太仓做网站公司
  • php美食网站开发背景天津微外卖网站建设
  • 如何建造企业网站北京金山办公软件公司
  • dedecms织梦搬家公司网站模板贵阳国家经济技术开发区门户网站
  • 网站架构设计师网络工程师的就业前景
  • 网站建设所需人员世界各国o2o响应式网站
  • 成都网站设计最加科技企业宣传片观后感
  • 人社门户网站建设方案非官方网站建设
  • 深圳系统网站开发做家具定制的设计网站
  • 网站制作学费多少钱网络推广的常用方法