📜  如果不存在 C++ 向量推送 - C++ (1)

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

如果不存在 C++ 向量推送 - C++

在 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++ 向量是一种动态数组,具有灵活性和易用性。使用向量能够很好地处理需要进行动态添加和删除操作的数据。