- 1、本文档共72页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[STN联机检索系统检索方法
容器的成员函数 2) 只在第一类容器中的函数: begin 返回指向容器中第一个元素的迭代器 end 返回指向容器中最后一个元素后面的位置的迭代器 rbegin 返回指向容器中最后一个元素的迭代器 rend 返回指向容器中第一个元素前面的位置的迭代器 erase 从容器中删除一个或几个元素 clear 从容器中删除所有元素 Head Tail begin rbegin rend end Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 迭代器 用于指向第一类容器中的元素。有const 和非 const两种。 通过迭代器可以读取它指向的元素,通过非const迭代器还能修改其指向的元素。迭代器用法和指针类似。 定义一个容器类的迭代器的方法可以是: 容器类名::iterator 变量名; 或: 容器类名::const_iterator 变量名; 访问一个迭代器指向的元素: * 迭代器变量名 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 迭代器 迭代器上可以执行 ++ 操作, 以指向容器中的下一个元素。如果迭代器到达了容器中的最后一个元素的后面,则迭代器变成past-the-end值。 使用一个past-the-end值的迭代器来访问对象是非法的,就好像使用NULL或未初始化的指针一样。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 例如: #include vector #include iostream using namespace std; int main() { vectorint v; //一个存放int元素的向量,一开始里面没有元素 v.push_back(1); v.push_back(2); v.push_back(3); v.push_back(4); vectorint::const_iterator i; //常量迭代器 for( i = v.begin();i != v.end();i ++ ) cout * i ,; cout endl; Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. vectorint::reverse_iterator r; //反向迭代器 for( r = v.rbegin();r != v.rend();r++ ) cout * r ,; cout endl; vectorint::iterator j; //非常量迭代器 for( j = v.begin();j != v.end();j ++ ) * j = 100; for( i = v.begin();i != v.end();i++ ) cout * i ,; } 输出结果: 1,2,3,4, 4,3,2,1, 100,100,100,100, Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 迭代器 不同容器上支持的迭代器功能强弱有所不同。 容器的迭代器的功能强弱,决定了该容器是否支持STL中的某种算法。 例1:只有第一类容器能用迭代器遍历。 例2:排序算法需要通过随机迭代器来访问容器中的元素,那么有的容器就不支持排序算法。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. STL 中的迭代器 STL 中的迭代器按功能由弱到强分为5种: 1. 输入:Input iterator
您可能关注的文档
最近下载
- 患方申请书 告知书-北京市医疗纠纷人民调解委 员会.doc
- 创新烹饪美食技能培训课件.pptx
- 机械设备安装工程施工及验收通用规范。GB-50231.docx VIP
- 口腔诊所污水污物粪便处理方案.docx
- 2024年高职单独招生考试汽车检测与维修技术专业题库含答案 .pdf VIP
- 2025年南京城市职业学院高职单招职业适应性测试近5年常考版参考题库含答案解析.docx
- 大学计算机基础(Windows+WPSOffice)WPSOffice演示处理软件.pdf VIP
- 《认识时间》习题.doc VIP
- GBT13173-2021表面活性剂 洗涤剂试验方法.pdf
- 北京大学初党练习试题附答案.doc VIP
文档评论(0)