STL实用入门教程第二讲讲义.ppt

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

vector与迭代器的配合使用 vec.begin(); //返回容器中第一个元素的迭代器。 vec.end(); //返回容器中最后一个元素之后的迭代器。 例如:vecInt是用vectorint声明的容器,假设已经包含了按顺序的1,3,5,7,9元素。 vectorint::iterator it; //声明容器vectorint的迭代器。 运行 it=vecInt.begin(); //此时*it==1。 运行++it; // 或者it++; 此时*it==3,前++的效率比后++的效率高,前++返回引用,后++返回值。 运行it += 2; //此时*it==7。 运行it = it +1; //此时*it=9。 运行++it; //此时it==vecInt.end(); 此时不能再执行*it; vector与迭代器的配合使用 以下是用迭代器遍历容器的例子。 假设vecInt是用vectorint声明的容器,里面包含按顺序的1,3,5,7,9元素。 for(vectorint::iterator it=vecInt.begin(); it!=vecInt.end(); ++it) { int iItem = *it; cout iItem; //或直接使用 cout *it; } 这样子便打印出1 3 5 7 9 vector与迭代器的配合使用 vec.rbegin(); //返回容器中倒数第一个元素的迭代器。 vec.rend(); //返回容器中倒数最后一个元素之后的迭代器。 例如: vecInt是vectorint声明的容器,已包含按顺序的1,3,5,7,9元素。现要求逆序打印这些元素。 vector与迭代器的配合使用 迭代器还有其它两种声明方法: 如: vectorint::const_iterator vectorint::const_reverse_iterator 这两种分别是 vectorint::iterator vectorint::reverse_iterator 的只读形式,使用这两种迭代器时,不会修改到容器中的值。 备注:不过容器中的insert和erase方法仅接受这四种类型中的iterator,其它三种不支持。《Effective STL》建议我们尽量使用iterator取代const_iterator、reverse_iterator和const_reverse_iterator。 vector与迭代器的讲解纲要 vector的简介 vector使用之前的准备 vector对象的默认构造 vector末尾的添加移除操作 vector的数据存取 迭代器的简介 双向迭代器与随机访问迭代器 vector与迭代器的配合使用 vector对象的带参数构造 vector的赋值 vector的大小 vector的插入 vector的删除 vector对象的带参数构造 vector(beg,end); //构造函数将[beg, end)区间中的元素拷贝给本身。注意该区间是左闭右开的区间。 vector(n,elem); //构造函数将n个elem拷贝给本身。 vector(const vector vec); //拷贝构造函数。 vector与迭代器的讲解纲要 vector的简介 vector使用之前的准备 vector对象的默认构造 vector末尾的添加移除操作 vector的数据存取 迭代器的简介 双向迭代器与随机访问迭代器 vector与迭代器的配合使用 vector对象的带参数构造 vector的赋值 vector的大小 vector的插入 vector的删除 vector的赋值 vector.assign(beg,end); //将[beg, end)区间中的数据拷贝赋值给本身。注意该区间是左闭右开的区间。 vector.assign(n,elem); //将n个elem拷贝赋值给本身。 vector operator=(const vector vec); //重载等号操作符 vector.swap(vec); // 将vec与本身的元素互换。 vector与迭代器的讲解纲要 vector的简介 vector使用之前的准备 vector对象的默认构造 vector末尾的添加移除操作 vector的数据存取 迭代器的简介 双向迭代器与随机访问迭代器 vector与迭代器的配合使用 vector对象的带参数构造 vector的赋值 vector的大小 vector的插入 vector的删除 vector的大小 vector.size(); //返回容器中元素

文档评论(0)

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

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

1亿VIP精品文档

相关文档