📜  C ++ STL中的向量集和示例(1)

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

C++ STL中的向量集和示例

介绍

在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] << " ";
}
操作向量

除了添加元素,还可以使用向量的其他函数操作向量。这里只介绍一些常用操作:

  • 删除最后一个元素: 使用pop_back()函数。
vector<int> v = { 1, 2, 3 };
v.pop_back();
  • 删除所有元素: 使用clear()函数。
vector<int> v = { 1, 2, 3 };
v.clear();
  • 判断向量是否为空: 使用empty()函数。
vector<int> v = { 1, 2, 3 };
if (v.empty()) {
    cout << "向量为空" << endl;
} else {
    cout << "向量不为空" << endl;
}
  • 获取向量长度: 使用size()函数。
vector<int> v = { 1, 2, 3 };
cout << "向量长度:" << v.size() << endl;
总结

向量是C++ STL中非常有用的容器之一,可以存储任何类型的元素,并且支持动态调整大小。向量具有快速随机访问的优势,使得访问和修改元素变得非常容易。