1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c教案十

面向对象程序设计十 --标准模板库3 内容提要 – 算法 fill、remove、replace 系列算法 数学算法 排序和查找算法 交换、合并等算法 集合操作算法 位操作算法 作业 fill、remove、replace 系列算法 fill与fill_n templateclass FwdIt, class T void fill(FwdIt first, FwdIt last, const T x); templateclass OutIt, class Size, class T void fill_n(OutIt first, Size n, const T x); fill ,fill_n: 将容器中某一区间的元素全部设为某值,比如: vector int v(100); fill( v.begin(), v.end(), 5 ); //将全部元素设为5 vectorchar vc(100); fill_n(vc.begin(),5, ‘A’); //将 begin()及其后5个元 //素设为 ‘A’ fill、remove、replace 系列算法 generate 和 generate_n 依次将容器中某一区间的值,设为 g() templateclass FwdIt, class Gen void generate(FwdIt first, FwdIt last, Gen g); templateclass OutIt, class Pred, class Gen void generate_n(OutIt first, Dist n, Gen g); fill、remove、replace 系列算法 remove, remove_if, remove_copy, remove_copy_if templateclass FwdIt, class T FwdIt remove(FwdIt first, FwdIt last, const T val); 删除 [first,last)中所有和 val相等的元素,这里“删除”的意思是用该区间后面的元素替换,后面的元素往前移动的意思,因此该函数不会使容器里的元素真正减少。 返回值是迭代器,指向被修改后序列的终点,即被修改后的序列是[first,fwdIt) 如果被删除的是[first,last)中的最后一个元素,那么就等于什么操作都没做,因为[first,last)里没有元素可以往前移,来替换被删除元素了,此时返回值指向 last的前一个元素。 如果[first,last)中没有元素等于val,那么 fdwIt 等于 last #include vector #include iostream #include algorithm using namespace std; char nextLetter() { static char letter = A; return letter++; } int main() { vectorchar v(5); ostream_iteratorchar output(cout,,); generate(v.begin(),v.end(),nextLetter); copy( v.begin(),v.end(),output); cout endl v.size() endl ; remove(v.begin(),v.end(),B) ; copy( v.begin(),v.end(),output); //vectorchar::iterator itEnd = remove(v.begin(),v.end(),B) ; //copy( v.begin(),itEnd,output); cout endl v.size() endl ; return 0; } remove_if templateclass FwdIt, class Pred FwdIt remove_if(FwdIt first, FwdIt last, Pred pr); remove_if 和 remove 类似,不同之处在于,被删除的元素 e 必须是满足 pr(e) == true 的。 pr 可以是函数对象或函数 remove_copy templateclass InIt, class OutIt, class T OutIt remove_copy(InIt first, InIt last, OutIt x, const T val); 将 [first,last)中所有不等于 val 的元素,拷贝到

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档