小编Fla*_*oot的帖子

是否可以在O(1)时间内为C++向量赋值?

请考虑以下Python程序,并执行以下步骤:

1)初始化两个列表A和B.

2)我们指定A = B.该操作的时间复杂度为O(1).

3)我们为B分配一个新的列表,它不会改变A.

A = [1, 2, 3]
B = [7, 8]
# A contains [1, 2, 3]
# B contains [7, 8]

#------------------------------------

A = B
# A contains [7, 8]
# B contains [7, 8]
# time complexity: O(1)

#------------------------------------

B = [55, 66, 77, 88]
# A still contains [7, 8]
# B now contains [55, 66, 77, 88]
Run Code Online (Sandbox Code Playgroud)

现在,我想在C++中做类似的事情,其中​​A和B是向量:

1)初始化两个向量A和B.

2)我们指定A = B.根据en.cppreference.com,该操作的时间复杂度为O(n).

3)我们为B分配一个新的列表,它不会改变A.

vector<int> A = {1, 2, 3};
vector<int> …
Run Code Online (Sandbox Code Playgroud)

c++ reference vector c++11

4
推荐指数
1
解决办法
740
查看次数

标签 统计

c++ ×1

c++11 ×1

reference ×1

vector ×1