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

南宁网站建设方案报价装修设计师在哪里找

南宁网站建设方案报价,装修设计师在哪里找,中国反钓鱼网站联盟,宁波建设网图文章目录 关联式容器键值对树型结构的关联式容器set的介绍map的介绍 关联式容器 什么是关联式容器#xff1f;它与序列式容器有什么区别#xff1f; 关联式容器也是用来存储数据的#xff0c;与序列式容器不同的是#xff0c;其里面存储的是key#xff0c;value结… 文章目录 关联式容器键值对树型结构的关联式容器set的介绍map的介绍 关联式容器 什么是关联式容器它与序列式容器有什么区别 关联式容器也是用来存储数据的与序列式容器不同的是其里面存储的是keyvalue结构的键值对在数据检索时比序列式容器效率更高。这里的序列是容器是指vectorlist、deque的底层。 键值对 键值对我们可以把它理解为英语单词对应中文意义的一种映射关系。该结构中一般只包含两个成员变量key和valuekey代表键值value表示与key对应的value也就是英语单词的中文意思。 templateclass T1,class T2 struct pair {typedef T1 first_type;typedef T2 second_type;T1 first;T2 second;pair():first(T1()),second(T2()){}pair(const T1 a, const T2 b):first(a),second(b){} };树型结构的关联式容器 根据应用场景的不同STL总共实现了两种不同结构的管理式容器树型结构与哈希结构。树型结构的关联式容器主要有四种map、set、multimap、multiset。这四种容器的共同点是使用平衡搜索树即红黑树作为其底层结果容器中的元素是一个有序的序列平衡二叉搜索树中序遍历可以得到一个有序的序列。 set的介绍 与map/multimap不同map/multimap中存储的是真正的键值对key,valueset中只存放value但在底层实际存放的是由value,value构成的键值对。 set中插入元素时只需要插入value即可不需要构造键值对。 set中的元素不可以重复(因此可以使用set进行去重)。 使用set的迭代器遍历set中的元素可以得到有序序列 set中的元素默认按照小于来比较 set中查找某个元素时间复杂度为 l o g 2 n log_2 n log2​n set中的元素不允许修改 set中的底层使用二叉搜索树(红黑树)来实现 T: set中存放元素的类型实际在底层存储value, value的键值对。 Compareset中元素默认按照小于来比较 Allocset中元素空间的管理方式使用STL提供的空间配置器管理 使用set的一些代码 int main() {setint myset;for (int i 1; i 10; i){myset.insert(i*10);}setint::iterator itlow, itup;//取相邻的数字itlow myset.lower_bound(35); // 35itup myset.upper_bound(60); // 60cout *itlow endl;cout *itup endl;myset.erase(itlow, itup);for (auto e : myset){cout e endl;}return 0; }int main() {setint myset;//set是去重的这里的代码没有意义要在multiset里面使用myset.insert(10);myset.insert(10);myset.insert(10);myset.insert(10);myset.insert(10);for (int i 1; i 10; i){myset.insert(i*10);}auto ret myset.equal_range(10);setint::iterator itlow, itup;itlow ret.first;itup ret.second;cout *itlow endl;cout *itup endl;return 0; }void test_set() {multisetint myset;set是去重的这里的代码没有意义要在multiset里面使用myset.insert(10);myset.insert(10);myset.insert(10);myset.insert(10);myset.insert(10);for (int i 1; i 10; i){myset.insert(i * 10);}auto ret myset.equal_range(10);multisetint::iterator itlow, itup;itlow ret.first;itup ret.second;cout *itlow endl;cout *itup endl;for (auto e : myset){cout e ;}cout endl;myset.erase(itlow, itup);for (auto e : myset){cout e ;} }map的介绍 map是关联容器它按照特定的次序(按照key来比较)存储由键值key和值value组合而成的元 素。在map中键值key通常用于排序和惟一地标识元素而值value中存储与此键值key关联的 内容。键值key和值value的类型可能不同并且在map的内部key与value通过成员类型 value_type绑定在一起为其取别名称为pair: typedef pairconst key, T value_type;在内部map中的元素总是按照键值key进行比较排序的。map中通过键值访问单个元素的速度通常比unordered_map容器慢但map允许根据顺序 对元素进行直接迭代(即对map中的元素进行迭代时可以得到一个有序的序列)。map支持下标访问符即在[]中放入key就可以找到与key对应的value。map通常被实现为二叉搜索树(更准确的说平衡二叉搜索树(红黑树))。 key: 键值对中key的类型 T 键值对中value的类型 Compare: 比较器的类型map中的元素是按照key来比较的缺省情况下按照小于来比 较一般情况下(内置类型元素)该参数不需要传递如果无法比较时(自定义类型)需要用户 自己显式传递比较规则(一般情况下按照函数指针或者仿函数来传递) Alloc通过空间配置器来申请底层空间不需要用户传递除非用户不想使用标准库提供的 空间配置器 注意在使用map时需要包含头文件。 使用map的一些代码 void test_map() {mapstring, string mymap;//初始化map的方式pairstring, stringkv(sort, 排序);mymap.insert(kv);mymap.insert(pairstring, string(string, 字符串));mymap.insert(make_pair(insert, 插入));//map也有去重功能。 不插入不覆盖插入过程中只比较key不管valuekey相同就不可以插入了//C11支持这样写mymap.insert({ insert,xxx });mapstring, string::iterator it mymap.begin();while (it ! mymap.end()){cout it-first : it-second endl;it;}cout endl;//范围forfor (const auto kv : mymap){cout kv.first : kv.second endl;} }好的我们下一篇再见
http://www.dnsts.com.cn/news/207706.html

相关文章:

  • 河北外贸网站建设深圳做网站排名哪家好
  • 网站流量统计怎么做的wordpress 微信主体
  • 北京市优化网站建设网站后期人员薪酬
  • 大师摄影作品网站做网站软件的
  • 百度上做网站重庆比较好的广告公司
  • 网站登录密码忘记怎么办吉林seo技术交流
  • 作品展示html5网站模板南昌做网站公司
  • 软文写作案例付费做网站关键词优化是怎么做的呀
  • 中天建设集团有限公司总网站大连做网站电话
  • 如何在百度上做网站推广开发游戏用什么编程软件
  • 合肥电信网站备案滴滴一年亏损109亿
  • 怎样做网站管理国外 外贸 网站 源码
  • 大型网站 php网站备案流程及步骤
  • 在线画画网站笔记本网站开发背景
  • 九江集团网站建设公司营销型企业网站案例
  • 什么是网站开发框架北京南站附近景点
  • 网站psd模版在网站做登记表备案 如果修改
  • 企业做网站怎么做个人crm
  • 网站的规划和建设方案站长素材音效下载
  • 糯米团网站怎么做wordpress美容主题
  • php网站开发综合案例公司代运营
  • 个人网站开发的意义公司网站需要服务器吗
  • 五大搜索引擎 三大门户网站网站怎么建设以及维护
  • 廊坊seo霸屏河南网站推广优化
  • 广州网站建设工作室招聘网站服务器有什么用
  • 建设网站建设工程信息泰州网1242低工程词网站如何快速推广
  • 佛山市企业网站建设哪家好wordpress 不检查更新
  • 无锡百度网站推广网站开发的人李海涛
  • 网站策划书的撰写流程江苏商城网站建设服务
  • 网站建设公司简介模板广西住房和城乡建设网站视频专栏