C++标准模板库(STL)之vector常见用法详解

解释:vector可以理解为“变长数组”,也就是“长度根据需要自动改变的数组”

两种用法:

(1)储存数据

(2)用邻接表存储图

使用条件:

使用vector要添加vector头文件#include<vector>和using namespace std;

1.vector的定义

vector<typename> name;

其实就是相当于一维数组name[size],只不过它的长度可以进行变换,比较节省空间,也就是所说的“变长数组”

 和一维数组一样,这里的typename可以是任何基本类型,也可以是STL容器

vector<int> name;

vector<double> name;

vector<char> name;

vector<node> name;//node是结构体的类型

vector<vector<int>>  name;//注意:>>之间一定要有空格

联想到二维数组:也就是其中一维是一个数组的数组

定义方法:

vector<typename> Arrayname[arraySize];

就是Arrayname[ ]中的每一个元素都是一个vector,可以把vector数组当作两个维都可以变长的二维数组理解。

例子:

vector<int> vi[100];

例子解释:

这样Arrayname[0]~Arrayname[arraySize-1]中每一个都是一个vector容器。

注意:与如下不同的是,上面的写法的一维长度已经固定为arraySize了,另一维才是变长的

?????????

vector<vector<int>> name;

2.vector容器内元素的访问

(1)通过下标访问

    对一个定义为vector<typename>vi 的vector容器来说,直接访问vi[index]即可(如vi[0],vi[1],下标范围是从0到vi.size()-1

(2)通过迭代器访问

    迭代器(iterator)可以理解为一种类似指针的东西,定义为:

vector<typename>::iterator it;

这样it就是一个vector<typename>::iterator型的变量

例如:

vector<int>::iterator it;

vector<double>::iterator it;

这样就得到了迭代器it,并且可以通过*it

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值