- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
标准库中的有哪些信誉好的足球投注网站算法
标准库中的有哪些信誉好的足球投注网站算法 标准库中的有哪些信誉好的足球投注网站算法2010-04-09 17:10The Standard Librarian:Searching in the Standard Library Matthew Austern The genius as well as the oversights in the design of the Standard C++library surface in asimple discussion of its linear and binary search algorithms.--如果你储存着一系列的元素,或许原因理由之一是因此你能够在它里面找到些对象。在一个集合中找到一个特别的条目是个很重要的问题;所有的书都会写到它。不奇怪,标准C++运行库提供了许多不同的有哪些信誉好的足球投注网站技术。在C++运行库中,指明一个集合的常用方法是通过iterator指示出区间。区间可以被写为[first,last),此处,*first是区间内的第一个元素而last则指向最后一个元素的下一个。本文展示了我们如何考虑一个通用问题:给定一个区间和一个准则,找到指向第一个满足准则的元素的iterator。因为我们将区间表示为不对称的形式,于是避开了一个特殊情况:有哪些信誉好的足球投注网站失败可以返回last,没有任何元素的区间可以写为[i,i)。线性有哪些信誉好的足球投注网站和它的变种最简单的有哪些信誉好的足球投注网站是线性有哪些信誉好的足球投注网站,或,如Knuth所称呼的,顺序有哪些信誉好的足球投注网站:依次查看每个元素,检查它是否为我们正在有哪些信誉好的足球投注网站的那个。如果区间中有N个元素,最坏的情况就需要N次比较。标准运行库提供了线性有哪些信誉好的足球投注网站的一些版本;两个最重要的版本是find()(它接受一个区间和值x,并查找等价于x的元素)和find_if()(接受一个区间和判决条件p,并查找满足p的元素)。线性有哪些信誉好的足球投注网站的其它版本是find_first_of()(接受两个区间,[first1,last1)和[first2,last2),并在[first1,last1)中查找第一个等价于[first2,last2)中任何一个元素的元素]和adjacent_find()(接受单一区间,并查找第一个等价于其后继元素的元素)。举例来说,假如,v是一个int的vector。你能用下面的代码查找第一个0:vector int:iterator i=find(v.begin(),v.end(),0);你也能这样查找第一个非0值:vector int:iterator i=find_if(v.begin(),v.end(),not1(bind2nd(equal_to int(),0)));你能这样查找第一个小质数:A[4]={2,3,5,7};vector int:iterator i=find_first_of(v.begin(),v.end(),A+0,A+4);你能这样找到第一个重复对:vector int:iterator i=adjacent_find(v.begin(),v.end());没有任何独立版本以对区间进行逆向有哪些信誉好的足球投注网站,因为你不需要:你能用一个简单的iterator adaptor来达到相同的效果。比如,在v中找到最后一个0,可以这么写:vector int:reverse_iterator i=find(v.rbegin(),v.rend(),0);线性有哪些信誉好的足球投注网站是一个简单的算法,它的实现看起来没什么可讨论的。许多书(包括我的)展示了std:find()的一个简单的实现:template class InIter,class TInIter find(InIter first,InIter last,const Tval){while(first!=last!(*first==val))++first;return first;}这的确是线性有哪些信誉好的足球投注网站算法的一个忠实的实现,满足C++标准的需求;第一个模板参数的名字,InIter,意味着实参只需要是非常弱的Input Iterator[注1]。它看起来可能是如此的简单,以致于还不如在代码中直接手写出来。虽然如此,还是有一个令人懊恼的问题:这个实现没有达到它应该的效率。循环条件很复杂,需要为取得的每个元素作两个测试。有条件的分支昂贵的,并且复杂的循环条件不会得到与简单的循环条件同样程度的优化。问题的答案之一,并是被某些标准运行库的实作所采用[注2],是解开循环,每次检查4个元素。这是比较复杂的解决方法,因为find()然后必须处理残余元素(区间不会总是4的倍数!),以及它还需要find()基于Iterator的种类进行分解-解开只能工作于Random Access Iterator指示的区间,对一般情况还是需要使用老的实现。但是,解开是有效果的:它将对每个元素的测试的数目从2降到1.25。它是标准库的实现人员不需要改动任何接口就能
您可能关注的文档
最近下载
- 河南省青桐鸣2024-2025学年高二上学期11月期中化学试卷.docx VIP
- 住院费用清单模板.doc VIP
- 大学学术英语视听说教程下册(第2版)Miriam_Espeseth习题答案.pdf
- 浙江省嘉兴八校联盟2024-2025学年高一上学期期中联考物理试卷(含答案).pdf VIP
- 颈动脉灌注机制.pptx VIP
- 浙江省嘉兴八校联盟2024-2025学年高一上学期期中考试 化学试题(含答案).pdf VIP
- Unit 4 Friends Lesson3 课件 人教精通版英语三年级上册.ppt
- 锅炉原理课件:第七章 锅炉设备的通风计算.ppt VIP
- 生涯发展展示-(第一版).pptx VIP
- 《选品与采购》课件——4.电商采购.pptx VIP
有哪些信誉好的足球投注网站
文档评论(0)