小编nam*_*man的帖子

我们如何以恒定复杂度或 O(1) 交换 2 个数组?

我们如何以恒定复杂度或 O(1) 交换 2 个数组?有没有办法做到这一点?我试过使用指针,但它给出了错误

加上这无济于事,因为它只是交换指针而不是数组

#include <algorithm>
int AA[100], *A=AA, BB[100], *B=BB;
swap(A, B);
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用向量赋值运算符,但它们具有线性复杂性,即 O(N) 不是常数,所以有什么方法可以在 O(1) 中交换两个数组?(通过使用指针或其他东西)

我尝试在网上搜索找到了 codeforces 的链接(http://codeforces.com/blog/entry/11971),但这没有帮助。

c++ arrays swap pointers stl

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

标签 统计

arrays ×1

c++ ×1

pointers ×1

stl ×1

swap ×1