C++ 中 vector学习

323 阅读1分钟

C++ 中 vector学习

在 C++ 中,vector 是一种动态数组。它允许我们创建一个具有固定大小的数组,但可以随时改变其大小。我们可以在运行时向 vector 中添加或删除元素,或改变元素的值。vector 是标准库中最常用的容器之一,它提供了一些有用的函数和运算符,使其易于使用和维护。

1. 声明和初始化 vector

在 C++ 中,可以通过以下方式声明和初始化 vector:

#include <vector>

// 声明一个空的 vector
std::vector<int> my_vec;

// 声明一个带有初始值的 vector
std::vector<int> my_vec = {1, 2, 3, 4, 5};

// 声明一个指定大小和初始值的 vector
std::vector<int> my_vec(5, 0);

2. 在 vector 中添加元素

要向 vector 中添加元素,可以使用 push_back 函数。示例如下:

#include <vector>
#include <iostream>

int main() {
    std::vector<int> my_vec = {1, 2, 3};
    
    // 在 vector 的尾部添加元素
    my_vec.push_back(4);
    
    // 打印 vector 中的元素
    for (int i: my_vec) {
        std::cout << i << " ";
    }
    // 输出:1 2 3 4
    return 0;
}

3. 通过下标访问 vector 中的元素

可以使用下标运算符 [] 访问 vector 中的元素。示例如下:

#include <vector>
#include <iostream>

int main() {
    std::vector<int> my_vec = {1, 2, 3, 4, 5};
    
    // 访问 vector 中的第一个元素
    std::cout << my_vec[0] << std::endl;
    
    // 修改 vector 中的第二个元素的值
    my_vec[1] = 10;
    
    // 打印 vector 中的元素
    for (int i: my_vec) {
        std::cout << i << " ";
    }
    // 输出:1 10 3 4 5
    return 0;
}

需要注意的是,使用下标运算符访问 vector 中的元素时,不能超出 vector 的范围。

4. 获取 vector 的大小

可以使用 size 函数获取 vector 中元素的数量。示例如下:

#include <vector>
#include <iostream>

int main() {
    std::vector<int> my_vec = {1, 2, 3, 4, 5};
    
    // 获取 vector 中元素的数量
    std::cout << my_vec.size() << std::endl;
    
    return 0;
}

5. 删除 vector 中的元素

要删除 vector 中的元素,可以使用 erase 函数。示例如下:

#include <vector>
#include <iostream>

int main() {
    std::vector<int> my_vec = {1, 2, 3, 4, 5};
    
    // 删除 vector 中的第一个元素
    my_vec.erase(my_vec.begin());
    
    // 打印 vector 中的元素
    for (int i: my_vec) {
        std::cout << i << " ";
    }
    // 输出:2 3 4 5

    return 0;
}

6. 使用迭代器访问 vector 中的元素

可以使用迭代器访问 vector 中的元素。迭代器是指向 vector 中元素的指针,可以使用 begin 和 end 函数获取。示例如下:

#include <vector>
#include <iostream>

int main() {
    std::vector<int> my_vec = {1, 2, 3, 4, 5};
    
    // 使用迭代器打印 vector 中的元素
    for (auto it = my_vec.begin(); it != my_vec.end(); ++it) {
        std::cout << *it << " ";
    }
    // 输出:1 2 3 4 5
    
    return 0;
}

以上就是关于 C++ 中 vector 的基本知识点,希望对你有所帮助。