vector 遍历
vector向量容器,是数组的一个泛化推广。实现了类似于数据结构中顺序表的操作。
vector容器是一个模板类,可以存放任何类型的对象(但必须是同一类对象)。vector对象可以在运行时高效地添加元素,并且vector中元素是连续存储的。
下面给出了vector的几种遍历
#include<iostream>
using namespace std;
#include<vector>
void print(const vector<int> &v);
void display1(vector<int> &v);
void display2(vector<int> &v);
int main(void)
{
vector<int> v;//构造一个空元素的vector对象
for(int i=;i<6;i++)
{
v.push_back(i);
}
cout<<"v的值为:";
print(v);
cout<<"v的值为:";
display1(v);
cout<<"v的倒序值为:";
display2(v); vector<int>::iterator i;
cout<<"v.begin()的值:"<<*v.begin()<<endl;
cout<<"v.end()-1的值:"<<*(v.end()-)<<endl;// cout<<*v.end();会报错
cout<<"v.rbegin()的值:"<<*v.rbegin()<<endl;
cout<<"v.rend()-1的值:"<<*(v.rend()-)<<endl;
getchar();
}
void print(const vector<int> &v)//使用数组遍历
{
for(int i=;i<v.size();i++)//v.size()得到vector元素的个数,因为和数组一样从0开始,所以遍历到v.size()-1;
{
cout<<v[i]<<" ";
}
cout<<endl;
} void display1(vector<int> &v)//使用vector迭代器遍历
{
vector<int>::iterator i;
for(i=v.begin();i<v.end();i++)
{
cout<<*i<<" ";
}
cout<<endl;
} void display2(vector<int> &v)//使用反向迭代器遍历
{
vector<int>::reverse_iterator i;
for(i=v.rbegin();i!=v.rend();i++)
{
cout<<*i<<" ";
}
cout<<endl;
}
运行结果:

1.数组的形式遍历,size()函数得到vector的元素个数,类似于数组中的length;使用[]符号,和数组的遍历一样。
2.使用迭代器遍历。
begin:返回指向vector第一个元素的迭代器
end:返回指向vector末尾的迭代器(注意:是指向vector末尾,不是指向vector的最后一个元素),若使用cout<<*v.end()会报错

vector 遍历的更多相关文章
- map/vector遍历删除
map遍历删除 map<int, vector<int>>::iterator it = g_map.begin(); for (; it != g_map.end(); /* ...
- [转]c++ vector 遍历方式
挺有趣的,转来记录 随着C++11标准的出现,C++标准添加了许多有用的特性,C++代码的写法也有比较多的变化. vector是经常要使用到的std组件,对于vector的遍历,本文罗列了若干种写 ...
- std::vector遍历
std::vector是我在标准库中实用最频繁的容器.总结一下在遍历和创建vector时需要注意的一些地方. 在不考虑线程安全问题的前提下,在C++11中有五种遍历方式. 方式一 for (size_ ...
- vector的几种初始化和遍历
随着C++11标准的出现,vector出现了新的初始化和遍历用法,但是vs2010和较高版本并没有能完全支持C++11标准,所以我就将它的所有的用法归纳了一下. vector的初始化 vector基本 ...
- java提高篇(二九)-----Vector
在java提高篇(二一)-–ArrayList.java提高篇(二二)-LinkedList,详细讲解了ArrayList.linkedList的原理和实现过程,对于List接口这里还介绍一个它的实现 ...
- Java 集合系列06之 Vector详细介绍(源码解析)和使用示例
概要 学完ArrayList和LinkedList之后,我们接着学习Vector.学习方式还是和之前一样,先对Vector有个整体认识,然后再学习它的源码:最后再通过实例来学会使用它.第1部分 Vec ...
- java 中遍历hashmap 和hashset 的方法
一.java中遍历hashmap: for (Map.Entry<String, Integer> entry : tempMap.entrySet()) { String ...
- java提高篇---Vector
对于List接口这里还介绍一个它的实现类Vector,Vector 类可以实现可增长的对象数组. 一.Vector简介 Vector可以实现可增长的对象数组.与数组一样,它包含可以使用整数索引进行访问 ...
- C++vector迭代器失效的问题
转载:http://blog.csdn.net/olanmomo/article/details/38420907 转载:http://blog.csdn.net/stpeace/article/de ...
随机推荐
- ABP官方文档翻译 6.1.2 MVC视图
ASP.NET MVC 视图 介绍 AbpWebViewPage基类 介绍 ABP通过Abp.Web.Mvc nuget包集成到MVC视图.你可以如往常一样创建正常的MVC视图. AbpWebView ...
- POJ 3304 Segments[直线与线段相交]
Segments Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 13514 Accepted: 4331 Descrip ...
- client / page / offset / screen X / Y
1.clientX / clientY 相对于可视窗口左上角,不包括菜单栏与滚动条 2.pageX / pageY 相对于网页左上角,不包括菜单栏,包括滚动条 3.offsetX / offsetY ...
- java实现二叉树的前中后遍历(递归和非递归)
这里使用下图的二叉树作为例子: 首先建立树这个类: public class Node { private int data; private Node leftNode; private Node ...
- HTTP入门
请求报文图解: 请求报文 图片 响应报文图解: 响应报文
- 修改MacBook Pro主机名,共享电脑名
https://support.apple.com/kb/PH25384?viewlocale=zh_CN&locale=zh_CN http://www.ituring.com.cn/art ...
- Java GC分析记录
Java GC记录 近来.项目没有特别忙碌的时候,抽空看了下生产环境的项目运行状况,我们的项目一直运行速度不是很快,偶尔会出现卡顿的现象,这点给人的体验感觉也就不那么好了.先抛个测试环境截图(生产环境 ...
- java5 - 数组与排序算法
数组是什么? 一.一维数组 1 声明与定义的区别 一般的情况下我们常常这样叙述, 把建立空间的声明称之为"定义", 而把不需要建立存储空间称之为"声明". 很明 ...
- Ecshop中transport和jquery不兼容的解决方案
1.修改文件:/js/transport.js,在最底部增加代码 if (Object.prototype.toJSONString){ var oldToJSONString = Object.to ...
- Duilib第一步(II)-Hello World
My first Duilib program 1. Prepare for development 打开DuiFarm项目DuiFarm.cpp文件,将除_tWinMain函数之外所有内容删除.删除 ...