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

七宝做网站唐山人才网

七宝做网站,唐山人才网,小学网站模板免费下载,html5新特性这里是目录标题 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/14339670/

相关文章:

  • 网站域名注销电话vi企业形象设计案例
  • 网站建设用什么服务器app注册推广团队
  • 杭州未来科技网站建设网站管理系统怎么做
  • 网站建设域名有哪些类型可信网站认证多少钱
  • 怎样在自己的网站上家程序南京哪家网站建设比较好
  • 德兴网站建设公司ui设计与制作培训
  • 网站建设公司发展方向及趋势wordpress做下载型网站6
  • 网站如何跟域名绑定注册一个空壳公司养着
  • 苏州高端网站建设设计公司自己公司的网站怎么编辑
  • 东莞市公司网站建设怎么样芜湖龙湖建设工程有限公司网站
  • 网站建设说明书模板网站建设需求确认书
  • 河北制作网站模板建站公司建行网站查询密码是什么东西
  • 如何做农产品网站seo兼职网
  • 有哪些做网站的品牌28创业商机网
  • 网站改版设计费进什么科目wordpress 一键部署
  • 网站建立时间查询管理咨询公司利润率
  • 自己做网站需要什么软件下载网络服务单位招标
  • 邢台哪有学做网站的苏州网站开发建设公司
  • 深圳网站建设便宜信科网络网站建设前期应该做哪些准备
  • 站长统计是什么意思微信公众号怎么开发小程序
  • 服务类网站建设策划书做外贸怎样上国外网站
  • 公司网站建设属于软件销售如何统计网站访问量
  • 海东市城市规划建设局网站园林建设网站
  • 长宁网站设计广州市区
  • 网站统计排名西安网站推广
  • iis默认网站路径活动软文模板
  • 网站飘动开发购物平台网站费用
  • 查询建设资质的网站仿造整个网站
  • 微网站 网页黄页官网
  • 沈阳网站制作列表网wordpress获取自定义分类名