编程语言
首页 > 编程语言> > c++ vector用法详解

c++ vector用法详解

作者:互联网

1. 定义:

寻春小说网 https://www.3712.info

向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)可以认为是一个动态数组,其中一个vector中的所有对象都必须是同一种类型的。

2. 构造函数:

2.1 一般情况

2.2 将vec1的部分赋给vec2

2.3 二维数组构造方法

3. 增加元素:

4. 删除元素:

5. 使用元素:

5.1 一般使用法

5.2迭代器指针使用法:

vector<int>::iterator d = vec1.begin();
int d1 = *d;//vec1[0]
vector<int>::iterator e = vec1.end() - 1;
int e1 = *e;//vec1[last]`

反向迭代器,是从后往前数的,即+1代表向前数一个元素

vector<int>::reverse_iterator f = vec1.rbegin();
int f1 = *f;//vec1[last]`
vector<int>::reverse_iterator g = vec1.rend() - 1;
int g1 = *g;//vec1[0]

6. 判断是否为空:

vector<int> vec1 = { 1, 2, 3, 4, 5 };
bool i = vec1.empty();//输出:false
vector<int> vec2 = {  };
bool j = vec2.empty();//输出:true

7. 大小函数:

8. 使用时的注意事项:

8.1 头文件及其命名空间

#include<vector>
using namespace std;

8.2 Vector 作为函数的返回值时,

方法一:vector<int> fun1(int num);(不推荐)
方法二:bool fun1(int num, vector<int> $&$vec);(推荐)

8.3 将vec2中的内容追加到vec1的后面:

vec1.insert(vec1.end(), vec2.begin(), vec2.end());

8.4 最大最小元素及其索引:

#include<algorithm>
vector<double>::iterator biggest = max_element(begin(vec1), end(vec1));
double biggestValue = *biggest;//最大值
int biggestIndex = distance(begin(begin(vec1), biggest);//最大值索引
vector<double>::iterator smallest = min_element(begin(vec1), end(vec1));
double smallestValue = *smallest;//最大值
int smallestIndex = distance(begin(begin(vec1), smallest);//最大值索引

标签:begin,iterator,int,元素,c++,vector,vec1,详解
来源: https://blog.csdn.net/null_10086/article/details/118901885