📅  最后修改于: 2023-12-03 15:38:58.003000             🧑  作者: Mango
在 C++ 中,使用数组来存储和操作一组数据是很常见的操作。但是在处理数据时,经常需要进行动态的添加和删除操作,这时候数组就显得力不从心了。这个时候,C++ 向量就发挥了作用。
C++ 向量(vector)是一种动态数组,可以通过 #include <vector>
头文件来导入。
向量的使用与数组类似,但是向量可以动态调整自己的大小。向量中的每个元素都可以通过一个索引来访问,其索引从0开始计数。向量可以自动扩展以适合您存储的数据。
下面的代码片段演示了如何创建一个向量:
#include <vector>
int main() {
// 创建一个空的向量
std::vector<int> vec1;
// 将向量的大小初始化为10
std::vector<int> vec2(10);
// 将向量中的值初始化为5
std::vector<int> vec3(10, 5);
// 从数组中创建向量
int arr[] = { 1, 2, 3, 4, 5 };
std::vector<int> vec4(arr, arr + sizeof(arr) / sizeof(int));
return 0;
}
向量支持许多与数组类似的操作,比如访问和修改元素,获取向量的大小等,下面的代码演示了如何操作向量。
#include <vector>
#include <iostream>
int main() {
// 创建一个向量
std::vector<int> vec = { 1, 2, 3, 4, 5 };
// 获取向量的大小
std::cout << "Size of vector: " << vec.size() << std::endl;
// 获取向量中的第一个元素
std::cout << "First element of vector: " << vec.front() << std::endl;
// 获取向量中的最后一个元素
std::cout << "Last element of vector: " << vec.back() << std::endl;
// 检查向量是否为空
std::cout << "Is vector empty? " << (vec.empty() ? "Yes" : "No") << std::endl;
// 访问向量中的元素
for (int i = 0; i < vec.size(); i++) {
std::cout << "Element at index " << i << ": " << vec[i] << std::endl;
}
// 修改向量中的元素
vec[0] = 10;
std::cout << "Modified element at index 0: " << vec[0] << std::endl;
// 在向量末尾添加元素
vec.push_back(6);
std::cout << "Element at index " << vec.size() - 1 << ": " << vec.back() << std::endl;
// 在向量中删除元素
vec.erase(vec.begin() + 1);
std::cout << "Element at index 1 after erasing: " << vec[1] << std::endl;
return 0;
}
C++ 向量是一种动态数组,具有灵活性和易用性。使用向量能够很好地处理需要进行动态添加和删除操作的数据。