📅  最后修改于: 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
的迭代器来指定新向量的元素范围。