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 ...
随机推荐
- Java源码分析系列之HttpServletRequest源码分析
从源码当中 我们可以 得知,HttpServletRequest其实 实际上 并 不是一个类,它只是一个标准,一个 接口而已,它的 父类是ServletRequest. 认证方式 public int ...
- 只用120行Java代码写一个自己的区块链
区块链是目前最热门的话题,广大读者都听说过比特币,或许还有智能合约,相信大家都非常想了解这一切是如何工作的.这篇文章就是帮助你使用 Java 语言来实现一个简单的区块链,用不到 120 行代码来揭示区 ...
- ABP官方文档翻译 5.2 动态We API层
动态Web APID层 创建动态Web API控制器 ForAll方法 重写ForAll ForMethods Http动词 WithVerb方法 HTTP特性 命名约定 API管理器 RemoteS ...
- Go笔记-继承
[Go中继承的实现] 当一个匿名类型被内嵌在结构体中时,匿名类型的可见方法也同样被内嵌,这在效果上等同于外层类型 继承 了这些方法:将父类型放在子类型中来实现亚型 package main i ...
- BZOJ 2754: [SCOI2012]喵星球上的点名 [AC自动机+map+暴力]
2754: [SCOI2012]喵星球上的点名 Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 1902 Solved: 837[Submit][St ...
- Codeforces Round #395 (Div. 2)(未完)
2.2.2017 9:35~11:35 A - Taymyr is calling you 直接模拟 #include <iostream> #include <cstdio> ...
- 在ASP.NET MVC中使用Web API和EntityFramework构建应用程序
最近做了一个项目技术预研:在ASP.NET MVC框架中使用Web API和EntityFramework,构建一个基础的架构,并在此基础上实现基本的CRUD应用. 以下是详细的步骤. 第一步 在数据 ...
- SDN第一次上机作业
作业链接 用字符命令生成拓扑,并测试连通性,截图 sudo mn --topo tree,fanout=3,depth=2 用可视化界面生成拓扑,并测试连通性,截图 用Python脚本生成一个Fat- ...
- VS2015安装时问题汇总
安装VS2015遇到teamexplorer严重错误 在控制台管理员权限执行: fsutil behavior set SymlinkEvaluation L2L:1 L2R:1 R2L:1 R2R: ...
- Linux一些常用操作
1.linux swap分区 可采用文件的方式 dd if=/dev/zero of=/var/swap bs=1024 count=2048000 mkswap /var/swap swapon / ...