📜  C++ STL中的向量(1)

📅  最后修改于: 2023-12-03 15:29:51.304000             🧑  作者: Mango

C++ STL中的向量

在C++ STL中,向量(vector)是一个封装了动态大小数组的顺序容器(Sequence Container),与数组一样,它可以访问单个元素,但可以动态地增加或减少其大小,通过在内存中重新分配所需的数组空间来实现。

声明

要使用向量,需要包含头文件vector:

#include <vector>

声明一个向量:

vector<int> vec;

这将创建一个大小为0的整数向量。

插入元素

通过push_back()函数向向量中添加元素:

vec.push_back(5);  //将元素5添加到向量末尾
vec.push_back(10); //将元素10添加到向量末尾

使用下标运算符[]访问向量中的元素:

cout << vec[0]; //输出元素5
cout << vec[1]; //输出元素10
删除元素

从向量中删除元素可以使用pop_back()或erase()函数。

pop_back()函数用于删除向量末尾的元素:

vec.pop_back(); //从向量末尾删除元素10

erase()函数用于删除向量中指定索引位置的元素:

vec.erase(vec.begin() + 1); //删除索引为1(第二个)的元素
迭代器

迭代器是一个允许在容器中遍历元素的对象。向量的迭代器类型是iterator。

使用begin()函数获取向量的起始位置迭代器,使用end()函数获得向量的末尾位置迭代器:

vector<int>::iterator it = vec.begin(); //使用迭代器遍历向量
for (it = vec.begin(); it != vec.end(); it++) {
    cout << (*it) << endl;
}
其他操作

向量还提供了许多其他功能,例如获取向量的大小、清空向量、排序等,具体请参见C++ STL文档。

总结

向量是在C++ STL中很常用的容器之一,可以方便地添加、删除、访问元素,而且支持迭代器进行遍历。在实际应用中,可以使用向量来存储需要动态增加或减少元素的数据。