📅  最后修改于: 2023-12-03 15:13:55.028000             🧑  作者: Mango
在C++ STL中,向量集(vector)是一个非常有用且经常使用的容器,它类似于数组,但有更多的功能和优势。
向量集是一个动态数组,意味着它可以在运行时按需增加或减少数组的大小。这使得它比固定大小的数组更灵活,因为在编写代码时可以不必关心数组的大小。
除了允许在运行时调整大小之外,向量还提供了一系列有用的功能,例如在常量时间内随机访问元素,以及在数组的末尾添加元素的能力。
在C++中,需要包含头文件vector
才能使用向量集。要声明一直向量集,可以使用以下语法:
std::vector<int> vec;
这将创建具有整数类型的空向量集。
向vector中添加元素
std::vector<int> v; // 声明一个空向量
v.push_back(10); // 在末尾添加一个元素
v.push_back(20); // 在末尾添加另一个元素
v.push_back(30); // 在末尾添加第三个元素
v.push_back(40); // 在末尾添加第四个元素
访问和修改向量集中的元素
std::vector<int> v = {10, 20, 30, 40, 50};
// 访问
std::cout << v[0] << std::endl; // 输出 10
std::cout << v.at(1) << std::endl; // 输出 20
std::cout << v.front() << std::endl; // 输出 10
std::cout << v.back() << std::endl; // 输出 50
// 修改
v[2] = 100; // 把第三个元素修改为100
通过循环遍历向量中的元素
std::vector<int> v = {10, 20, 30, 40, 50};
for (int i = 0; i < v.size(); ++i) {
std::cout << v[i] << " ";
}
// 输出 10 20 30 40 50
获取向量的大小和容量
std::vector<int> v = {10, 20, 30, 40, 50};
std::cout << v.size() << std::endl; // 输出 5
std::cout << v.capacity() << std::endl; // 输出 8
在向量的末尾添加元素
std::vector<int> v = {10, 20, 30};
v.emplace_back(40);
v.emplace_back(50);
// 与下面代码等效
// v.push_back(40);
// v.push_back(50);
从向量中删除元素
std::vector<int> v = {10, 20, 30, 40, 50};
v.erase(v.begin() + 2); // 删除第3个元素,即30
// 删除从第2个元素到第4个元素(不包括第4个元素)
v.erase(v.begin() + 1, v.begin() + 4);
向量集是STL中最常见和最有用的容器之一,它可以在运行时动态调整大小,并具有许多有用的功能和操作。熟练掌握向量集的使用可以极大地提高程序员的编程效率。