📜  用另一个向量初始化一个向量 c++ 复杂性 - C++ (1)

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

用另一个向量初始化一个向量

在C++中,我们可以用另一个向量来初始化一个向量。这可以让我们快速地创建新的向量,而不需要手动赋值每个元素。

示例代码

以下是一个简单的示例代码,它从一个向量中创建了一个新的向量。

#include <iostream>
#include <vector>

int main()
{
    std::vector<int> vec1 = {1, 2, 3, 4, 5};

    // 创建一个新向量并使用vec1初始化它
    std::vector<int> vec2(vec1.begin(), vec1.end());

    // 打印vec2的元素
    for (int i = 0; i < vec2.size(); i++) {
        std::cout << vec2[i] << " ";
    }
    std::cout << std::endl;

    return 0;
}

输出结果:

1 2 3 4 5 
复杂度

使用另一个向量初始化一个向量的复杂度取决于向量的大小。如果我们使用vec1创建一个新向量,这需要遍历vec1的所有元素,并复制它们到新向量中。因此,使用另一个向量初始化一个向量的时间复杂度为$O(n)$,其中$n$是vec1的长度。

总结

使用另一个向量初始化一个向量是一种方便的方法,可以快速创建相同或类似的新向量。为了避免不必要的复制操作,我们可以使用vector的迭代器来指定新向量的元素范围。