📅  最后修改于: 2023-12-03 15:29:42.134000             🧑  作者: Mango
在C++的STL中,向量(vector)是一个动态数组,可以存储任意类型的元素,而且支持快速随机访问。向量可以自动调整大小,给程序员带来了极大的便利。
在使用向量之前,需要添加以下头文件:
#include <vector>
向量位于命名空间std中,所以需要使用std命名空间:
using namespace std;
或者使用std::前缀:
std::vector<int> v;
创建向量的方法很简单。可以使用向量的默认构造函数,或使用另一个向量对象来构造一个新的对象。
// 使用默认构造函数创建一个空向量:
vector<int> v1;
// 使用另一个向量v2创建一个新的向量v3:
vector<int> v2 = { 1, 2, 3 };
vector<int> v3(v2.begin(), v2.end());
使用向量的下标访问运算符[]或at()函数来访问向量中的元素。
vector<int> v = { 1, 2, 3 };
cout << v[0] << endl; // 输出1
cout << v.at(1) << endl; // 输出2
可以使用下标运算符[]或at()函数修改向量中的元素:
vector<int> v = { 1, 2, 3 };
v[0] = 10;
v.at(1) = 20;
还可以使用向量的成员函数push_back()添加元素到向量的末尾。
vector<int> v = { 1, 2, 3 };
v.push_back(4);
v.push_back(5);
有很多方法遍历向量。在C++11和更高版本中,可以使用foreach循环:
vector<int> v = { 1, 2, 3 };
for (int i : v) {
cout << i << " ";
}
或使用普通的for循环:
vector<int> v = { 1, 2, 3 };
for (int i = 0; i < v.size(); i++) {
cout << v[i] << " ";
}
除了添加元素,还可以使用向量的其他函数操作向量。这里只介绍一些常用操作:
vector<int> v = { 1, 2, 3 };
v.pop_back();
vector<int> v = { 1, 2, 3 };
v.clear();
vector<int> v = { 1, 2, 3 };
if (v.empty()) {
cout << "向量为空" << endl;
} else {
cout << "向量不为空" << endl;
}
vector<int> v = { 1, 2, 3 };
cout << "向量长度:" << v.size() << endl;
向量是C++ STL中非常有用的容器之一,可以存储任何类型的元素,并且支持动态调整大小。向量具有快速随机访问的优势,使得访问和修改元素变得非常容易。