📜  遍历向量 - C++ (1)

📅  最后修改于: 2023-12-03 14:58:08.891000             🧑  作者: Mango

遍历向量 - C++

在 C++ 中,向量是一种容器,可以存储多个数据类型。在向量中,向量元素是连续存储的,并且可以通过下标访问。遍历向量意味着遍历向量中所有元素,可以使用以下几种方式:

使用循环遍历向量

使用 for 循环可以遍历向量中的所有元素,并使用 vector::size() 函数获取向量的大小,如下所示:

#include <iostream>
#include <vector>

int main() {
    std::vector<int> vec = { 10, 20, 30, 40, 50 };

    // 使用 for 循环遍历向量
    for (int i = 0; i < vec.size(); i++) {
        std::cout << vec[i] << " ";
    }

    std::cout << std::endl;

    return 0;
}

此代码将输出向量中所有元素:10 20 30 40 50.

使用迭代器遍历向量

迭代器是一种 C++ 概念,它类似于指针,可以指向容器中的元素。使用迭代器可以遍历向量中的所有元素,示例代码如下:

#include <iostream>
#include <vector>

int main() {
    std::vector<int> vec = { 10, 20, 30, 40, 50 };

    // 使用迭代器遍历向量
    for (auto it = vec.begin(); it != vec.end(); ++it) {
        std::cout << *it << " ";
    }

    std::cout << std::endl;

    return 0;
}

此代码也将输出向量中所有元素:10 20 30 40 50.

使用 C++11 范围 for 循环遍历向量

使用 C++11 范围 for 循环可以遍历整个向量,并且非常简洁:

#include <iostream>
#include <vector>

int main() {
    std::vector<int> vec = { 10, 20, 30, 40, 50 };

    // 使用 C++11 范围 for 循环遍历向量
    for (auto i : vec) {
        std::cout << i << " ";
    }

    std::cout << std::endl;

    return 0;
}

输出与前面的示例相同:10 20 30 40 50.

以上是遍历向量的三种方式,您可以根据自己的偏好和场景使用其中一种或多种方法。不过对于大型的向量,在遍历时请注意性能问题,避免使用不必要的拷贝和复制。