0
点赞
收藏
分享

微信扫一扫

6.1 vector的常用解法

霸姨 2022-02-20 阅读 65

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 条评论