vector容器的三种遍历方法
2016-03-06 20:37
253 查看
vector容器是最简单的顺序容器,其使用方法类似于数组,实际上vector的底层实现就是采用动态数组。在编写程序的过程中,如何遍历这些元素呢?本文给出三种遍历方法。
方法一:采用下标遍历
由于vector容器就是对一个动态数组的包装,所以在vector容器的内部,重载了[]运算符,函数原型为:reference operator [] (size_type n);所以我们可以采用类似于数组的方式来访问vector容器内部的元素.
方法二:采用迭代器遍历
如果我们将vector容器看成一个数组,那么我们也可以将迭代器看成一个指针,实际上迭代器的内部实现就是对一个原生指针的封装,迭代器本身就是一个智能指针。
方法三:利用copy函数遍历
在泛型算法中,提供了一个复制函数copy,copy的函数原型大致为:copy(b,e,b1),作用是将迭代器范围[b,e)内的元素复制到以迭代器b1开始的位置。设想,如果我们将b1设置为一个输出流迭代器ostream_iterator,那么我们就把内容复制到输出流cout,相当于显示除了所有元素.
方法一:采用下标遍历
由于vector容器就是对一个动态数组的包装,所以在vector容器的内部,重载了[]运算符,函数原型为:reference operator [] (size_type n);所以我们可以采用类似于数组的方式来访问vector容器内部的元素.
方法二:采用迭代器遍历
如果我们将vector容器看成一个数组,那么我们也可以将迭代器看成一个指针,实际上迭代器的内部实现就是对一个原生指针的封装,迭代器本身就是一个智能指针。
方法三:利用copy函数遍历
在泛型算法中,提供了一个复制函数copy,copy的函数原型大致为:copy(b,e,b1),作用是将迭代器范围[b,e)内的元素复制到以迭代器b1开始的位置。设想,如果我们将b1设置为一个输出流迭代器ostream_iterator,那么我们就把内容复制到输出流cout,相当于显示除了所有元素.
相关文章推荐
- 【java学习记录】spilt小结
- Linux内核分析二:一个简单的时间片轮转多道程序内核代码
- 自我介绍
- yii框架-依赖注入
- 背包
- HDU 3873 Invade the Mars dijkstra最短路
- 整理:统计学习-2 感知机知识准备(模型类型、超平面与梯度下降法)
- 对类依据成员进行排序
- 八个排序算法
- 谋哥:App排行榜的秘密
- const
- 骨骼算法,仿生中的外观
- Java [Leetcode 268]Missing Number
- 个人项目-数组求和(语言:C++)
- 基础4
- 【bzoj2055】80人环游世界 有源汇上下界费用流
- A、B、C、D和E类IP地址
- 机电传动控制第二周作业
- tomcat配置及环境搭建
- 【PSR规范专题(5)】PSR-4 改进后的自动加载规范