第十八节 标准模板库STL.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
迭代器 迭代器实际上是一种泛化指针,如果一个迭代器指向了容器中的某一成员,那么迭代器将可以通过自增自减来遍历容器中的所有成员。迭代器是联系容器和算法的媒介,是算法操作容器的接口,如图18-10所示。 代码清单 1 #include iostream 2 #include iomanip //包含I/O流控制头文件 3 #include vector //包含向量容器头文件 4 using namespace std ; //使用存储过程 5 void main() //主函数 6 { 7 vectorint A(10); //定义向量对象 8 int n; //定义整型变量 9 int primecount = 0, i, j; //定义变量并初始化 10 coutEnter a value=2 as upper limit: ; //输入提示 11 cin n; //接收n的输入 12 A[primecount++] = 2; //赋值 13 for(i = 3; i n; i++) //循环输出素数 14 { 15 if (primecount == A.size()) //到达向量大小 16 A.resize(primecount + 10); //调用函数重新设置向量大小 17 if (i % 2 == 0) //不是素数 18 continue; //继续循环 19 j = 3; //赋初值 20 while (j = i/2 i % j != 0) //循环判断是否素数 21 j += 2; //变量递加2 22 if (j i/2) //是素数 23 A[primecount++] = i; //写入向量中 24 } 25 for (i = 0; iprimecount; i++) //输出素数 26 { 27 coutsetw(5)A[i]; //设置输出格式并输出 28 f ((i+1) % 10 == 0) //每输出10个数换行一次 29 cout endl; //输出换行 30 } 31 coutendl; //输出换行 32 } 1-* 北京源智天下科技有限公司 联系方式: 联系方式: 北京源智天下科技有限公司 第十八讲:标准模板库STL 杨章伟 e-mail:jtclass@163.com 课程内容安排 标准库模板库 算法 容器 迭代器 综合练习 思考和习题 标准模板库 STL是最新的C++标准函数库中的一个子集,这个庞大的子集占据了整个库的大约80%的分量。而作为在实现STL过程中扮演关键角色的模板则充斥了几乎整个C++标准函数库。 STL提供了一系列具有良好结构的通用C++组件,这些组件紧密协作,提供强大的功能。标准库的设计必须确保所有的模板算法既能操作库中的数据类型,也能操作C++固有的数据类型。 第一个STL程序 该范例中调用了STL中的函数,是第一个使用STL的程序 ,其实现功能如下。 代码清单 1 #include vector //包含头文件 2 #include iostream 3 int main() 4 { 5 std::vectordouble a; //定义数据变量 6 std::vectordouble::const_iterator i; //定义变量 7 a.push_back(1); //调用STL中函数 8 a.push_back(2); 9 a.push_back(3); 10 a.push_back(4); 11 a.push_back(5); //调用STL中函数 12 for(i=a.begin(); i!=a.end(); ++i) //循环输出 13 { 14 std::cout(*i)std::endl; //输出该容器内所有元素 15 } 16 return 0; 17 } STL的组成 STL的代码从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),几乎所有的代码都采用了模板类和模版函数的方式,这相比于传统的

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档