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

七宝做网站青岛开发区网站建设多少钱

七宝做网站,青岛开发区网站建设多少钱,门户网站ui设计,自己建个电影网站可以吗这里是目录标题 setinsertfinderasecountlower_boundupper_boundmultisetset的应用 mappairinsertinsert的pair map的遍历map对[ ]的重载(重点)multimap set set的普通迭代器和const迭代器都不支持修改。(这点可以根据源代码看出来#xff0c;都是对const iterator进行了type… 这里是目录标题 setinsertfinderasecountlower_boundupper_boundmultisetset的应用 mappairinsertinsert的pair map的遍历map对[ ]的重载(重点)multimap set set的普通迭代器和const迭代器都不支持修改。(这点可以根据源代码看出来都是对const iterator进行了typedef) insert 函数原型value_type一般是T的typedef 单独插入一个值 pairiterator,bool insert (const value_type val);insert后打印出来的值 会自动排序去重。 set一般不使用在pos位置进行插入因为可能这样会破坏搜索树的结构。 insert会不会有迭代器失效的问题 不会因为迭代器和链表一样每个结点都是独立的。所以不会失效。 但是erase会失效。 find 返回迭代器 iterator find (const value_type val) const;set的find和头文件算法中的find的区别。 set的find是logn因为用了搜索树的特性。 find的查找是O(N).是一个暴力查找。 erase erase删除返回的被删除数据的个数。为了和冗余版本的erase对接。 count count还可以判断元素在不在set中。 比find好用。 lower_bound 功能返回要大于或等于要找元素的迭代器。(闭区间) 假如是找一个不存在的值。会返回一个比这个值大于的值迭代器。 总结他会返回val位置的迭代器。 upper_bound 返回大于x的迭代器。 开区间。 不管要找的那个值存在不存在则返回比它大的那个值的迭代器。 这样设计的原因是要配合迭代器使用的。 假如要删除 x n y的值但你不知道x和y存在不存在这时候就要用uper_bound. auto leftIt s.lower_bound; auto rightIt s.upper_bound;multiset 唯一和set不同的就是允许冗余其他接口和set一样。 find和count的返回值和set的也契合。 find会返回中序遍历的第一个数。也就是按照左子树 根 右子树的顺序遍历。 count返回某个元素的个数。 set的应用 set有集合的意思所以在集合的方面有用。 比如百度网盘备份功能。就是数据同步算法找差集和交集。 比如找交集最常用的方法就是 1.相比较小的 2.相等的就是交集然后同时 差集 1.相比较小的就是差集小的 2.相等同时 map map里面存的是value_type value_type就是pair也就是存的是一对数据是一个结构。 pairstring, string(“sort”, “排序”)是一个构造函数。 string,string传递的是模板类型 pair是类名。 pair insert的value_type就是pair typedef pairconst Key, T value_type;pairiterator,bool insert (const value_type val);pair是什么 template class T1, class T2 struct pair;pair的第一个参数是first第二个参数是second。 insert 有三种写法 1.最常用的是匿名对象写法 2.先用pair生成一个对象然后再调用insert 3.使用make_pair它是一个函数模板可以自动推导类型。 4.C11也有一种写法以后再说。 mapstring , string dict; //匿名对象写法 dict.insert(pairstring, string(sort, 排序)); //先生成对象的写法 pairstring,string kv(我“me”); dict.insert(kv); //make_pair dict.insert(make_pair(left,左边));insert的pair 为了重载[ ]需要先了解insert的返回值。因为他要返回两个值iterator和bool insert的返回值的pair 和 库里面结构的pair不一样这个要区分开来。 返回的pair的first是一个迭代器iterator要么是新插入的元素要么是没插入成功(防止冗余)返回的是与之相等的元素的位置。second返回一个bool值来看是否插入成功或者失败。 代码例子 mapstring, int countMap;for (auto str : arr){//pairmapstring, int::iterator, bool ret countMap.insert(make_pair(str, 1));auto ret countMap.insert(make_pair(str, 1));if (ret.second false){ret.first-second;}}map的遍历 map的遍历就比较难。 it是pair这个结构。所以要用it-k和*(it).k auto it dict.begin();map对[ ]的重载(重点) [ ]这个运算符在map中可以用来进行插入修改和查找的功能。 函数原型 mapped_type是第二个模板参数Tkey_type是第一个模板参数key 意思就是通过key来获得T也就是value mapped_type operator[] (const key_type k);源码如下 情况一假如k在map的对象中插入失败这里充当查找k对应的v修改k对应的v 情况二假如不在插入成功这里充当插入和修改的功能。 mapped_type operator[] (const key_type K) {pairiterator, bool ret insert(make_pair(K, mapped_type())); return ret.first-second; }最简单的统计次数的方法。用的次数最多。 mapstring, int countMap;for (auto str : arr){countMap[str];}for (const auto kv : countMap){cout kv.first : kv.second endl;}multimap 和map最大的区别是支持冗余。 不支持operator[] insert返回值不是返回pair。
http://www.hkea.cn/news/14591151/

相关文章:

  • 哪些公司的网站做的很好昆明seo外包
  • 资源型网站建设 需要多大硬盘无锡seo管理
  • 企慕网站建设网络推广静态网页模板素材
  • 微信网站多少钱做网站需要什么准备
  • 南昌营销型网站建设中国贸易网是什么网站
  • 在哪个网站上做外贸好网站建设小程序公众号推广开发
  • 南宁制作网站的公司我看别人做系统就直接网站下载
  • 莱芜百度网站制作天津画册设计公司
  • 在哪里可以免费做个人网站没有注册公司可以做网站吗
  • 建设一个校园网站的可行性网站一键生成app
  • 做报名网站无锡高端网站设计公司
  • 怎样做一个免费的网站上海外贸论坛
  • 南通网站排名团队如何查看一个网站做的外链
  • 牛商网营销型网站多少钱企业网站建设方案 word
  • 深圳网站建设方案书上海高玩seo
  • 大学 英文网站建设网站如何建设目录结构
  • 速贝cms建站系统温州网站升级
  • 山东济南公司网站韩雪冬网站
  • 有网站代码 如何建设网站深圳做外贸网站公司
  • wordpress站点统计插件山西建设公司网站
  • 徐州网站建设哪家专业河北建设厅网站首页
  • 商城网站建设排名iis网站服务器安全隐患
  • asp连接数据库做登录网站完整下载厦门正规的网站建设公司
  • 网站编辑工具购物网站建设与开发
  • 论坛网站太难做没人在线高清观看免费ppt
  • 湖南外贸网站建设山东东营市房价
  • 网站制作好如何上线网站用的字体
  • 网站哪些数据数字营销经理岗位职责
  • 网站内的搜索怎么做的免费网站建设apk
  • 苏州专业高端网站建设公司哪家好梦幻创意北京网站建设