【C/C++入门攻略】C++标准模板库(STL)用法介绍:vector

C++标准模板库(STL)用法介绍:vector

vector:向量,STL容器之一,可以理解成一个封装了多种操作变长数组。

使用vector前需要添加:

#include <vector>

using namespace std;

1. vector声明

vector是一个模板类,所以使用前需要声明。用变长数组来理解它:

一维数组

vector<typename> vi;

typename可以是任何基本类型,也可以是STL标准容器

二维数组

  • 两个维数都可变长
vector<vector<typename> > name;

注:>>之间需要加空格,否则可能会被判定为右移操作

  • 第一维定长,第二维可变
vector<typename> Arrayname[arraySize];

2. vector访问

一般有两种访问vector内元素的方法:通过下标或者vector的迭代器

(1)通过下标访问

同访问数组,注意访问范围不要超出最后一个元素下标

(2)通过迭代器访问

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

vector<typename>::iterator it;

it是vector<typename>::iterator类型的变量,*it用来访问vector里的元素。迭代器都支持支持自增自减,但只有vector和string支持加减整数的操作。因此,vector既可以通过迭代器的自增迭代去访问元素,也支持*(it + i)的访问方式。

假设现在有一个vector容器vi,那么,vi.begin()和vi.end()标志着迭代器的开头(首元素的地址)和结尾(尾元素地址的下一个地址)。

注:vi[i]与*(vi.begin() + i)等价。

3. vector常用函数

(1) push_back()

push_back(x)用来在vector的后面添加新元素x

(2) pop_back()

pop_back()用来删除vector的尾元素

(3) size()

size()用来获得vector中的元素个数

(4) clear()

clear()用来将vector中的所有元素清空

(5) insert()

insert(it, x)用来向vector的迭代器it处插入一个元素x

(6) erase()

  • 删除单个元素

erase(it)用来删除迭代器it处的元素

  • 删除一个区间内的所有元素

erase(first, last)用来删除迭代器[first, last)内的所有元素

4. vector用途

(1)储存数据

将vector作为数组使用,在元素个数不确定的场合很方便

(2)用邻接表存储图

用vector实现邻接表比较方便


欢迎访问我的STL系列:

C++标准模板库(STL)用法介绍:目录

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值