网站大量收购独家精品文档,联系QQ:2885784924

C _STL详解print.pptVIP

  1. 1、本文档共68页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C _STL详解print

STL算法 已序区间算法 所作用的区间以按某种准则排序 名称 作用 binary_serach() 判断区间内是否包含某个元素 includes() 判断区间内的每个元素是否都包含在另一个区间中 lower_bound() 搜寻第一个“大于等于给定值”的元素 upper_bound() 搜寻第一个“大于给定值”的元素 equal_range() 返回“等于给定值”的元素构成的区间 merge() 将两个区间的元素合并 set_union() 求两个区间的并集 set_intersection() set_difference() 求两个区间的差集 … … STL算法 已序区间算法 bool binary_serach (beg, end, value) bool binary_serach (beg, end, value, op) 判断已序区间[beg, end)内是否包含“和value相等”的元素 op可以作为排序准则 返回值只说明搜寻的值是否存在,不指明位置 调用者必须确保区间已序 复杂度:使用随机存取迭代器为O(logn),否则是O(n) 示例:bserach STL算法 已序区间算法 lower_bound (beg, end, value) upper_bound (beg, end, value) lower_bound (beg, end, value,op) upper_bound (beg, end, value,op) lower_bound()返回第一个大于等于value的元素位置,既可以插入value且不破坏区间已序性的第一个位置 upper_bound()返回第一个大于value的元素位置,既可以插入value且不破坏区间已序性的最后一个位置 op可以作为排序准则 调用者必须确保区间已序 复杂度:使用随机存取迭代器为O(logn),否则是O(n) 示例:bound STL算法 数值算法 以不同的方式组合数值元素 #include numeric 名称 作用 accumulate() 组合所有元素(求和,求积,…) inner_product() 组合两区间内的所有元素的内积 adjacent_difference() 将每个元素和其前一元素组合 partial_sum() 将每个元素和其先前所有元素组合 STL算法 数值算法 accumulate( beg, end, initValue) accumulate( beg, end, initValue,op) 对于序列:a1, a2, a3, … 第一种形式计算initValue + a1 + a2 + a3 + … 第二种形式计算initValue op a1 op a2 op a3 op … 示例:accu STL算法 数值算法 inner_product( beg1, end1, beg2, initValue) inner_product( beg1, end2, beg2,initValue,op1,op2) 对于序列:a1, a2, a3, …;b1, b2, b3, … 第一种形式计算initValue + (a1*b1) + (a2*b2) + (a3*b3) + … 第二种形式计算initValue op1 (a1 op2 b1) op1 (a2 op2 a2) op … 示例:inner * 什么是旋转元素次序? STL容器 map/multimap 内部存储结构 7 4 9 2 5 8 11 1 3 6 10 12 y y x y q y w x z y q z STL容器 map/multimap 构造、拷贝和析构 操作 效果 map c 产生空的map map c1(c2) 产生同类型的c1,并复制c2的所有元素 map c(op) 以op为排序准则产生一个空的map map c(beg,end) 以区间[beg,end]内的元素产生一个map map c(beg,end,op) 以op为排序准则,以区间[beg,end]内的元素产生一个map ~ map() 销毁所有元素并释放内存。 其中map可以是下列形式 mapkey,value 一个以less()为排序准则的map, mapkey,value,op 一个以op为排序准则的map STL容器 map/multimap 非变动性操作 操作 效果 c.size() 返回元素个数 c.empty() 判断容器是否为空 c.max_size() 返回元素最大可能数量 c1==c2 判断c1是否等于c2 c1!=c2 判断c1是否不等于c2 c1c2 判断c1是否小于c2 c1c2 判断c1是否大于c2 c1=c2 判断c1是否大于等于c2 c1=c2 判断c1是否小于等

文档评论(0)

baoyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档