6.1 vector的常用解法

6.1 vector的常用解法详解

vector,翻译为向量,但在C++中实际上是一种变长数组(长度可以根据需要来自动改变的数组)

#include <vector>
using namespace std;

1、vector的定义

vector<typename> name;

(1)一维数组

vector<int> nums(n, 0)
//将nums设置为大小为n的数组,并且数组中的值都为0

(2)二维数组

vector<vector<int>> matrix(m, vector<int> (n, 0))
//将nums设置为一个m * n的二维数组,数组中的值都初始化为0  

2、vector内容器的访问

(1)通过下标进行访问

nums[index]	//访问元素nums[index]

(2)通过迭代器进行访问

迭代器(interator)类似于一种指针的东西

vector<typename> :: iterator it;
//等价于auto it,这里auto -> vector<typename> :: interator

for (auto it = nums.begin(); it != nums.end(); it ++) {
	cout<<*it;	// nums[i]等价于*(nums.begin() + i) 
}
//nums.begin(), nums.end()分别表示数组的首地址和数组尾元素地址的下一个地址 

3、vector常用实例函数解析

(1)push_back()

push_back(x)	//在vector之后添加元素x,时间复杂度O(1)

(2)pop_back()

pop_back()	//删除vector的尾元素,时间复杂度O(1)

(3)back()

back()	//访问vector的尾元素,时间复杂度O(1)
//通过push_back(), pop_back(), back()可以将vector当做stack来使用

(4)size()

size()	//获取vector中元素的个数

(5)clear()

clear()	//将vector中的所有元素清空,时间复杂度O(N)

(6)insert()

insert(it, x)用来在迭代器it处插入元素x, 时间复杂度O(N)

(7)earse()

1)、删除单个元素 
	erase(it)删除迭代器it处的元素
2)、删除一个区间的所有元素
	erase(first, last)删除[first, last)之内的所有元素

4、vector的常见用途

1)、作为数组使用
2)、用邻接表存储图 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值