我最近开始看到一些C ++
但我怀疑有点快,因为我没有找到快速反应。 如果我在C ++中有一个向量,我该如何交换它的值?
Python中的:
x = ["a", "b", "c", "d"]
x[0], x[1] = x[1], x[0]
Output: ["b", "a", "c", "d"]
在C ++中:
std::vector <char> x {'a', 'b', 'c', 'd'};
char n = x.at(0);
x[0] = x[1];
x[1] = n;
出于好奇,C ++中有不同的方式吗?
答案 0 :(得分:2)
怎么样
std::swap(x[0],x[1]);
这是兼容C ++ 11的。
答案 1 :(得分:1)
您可以使用std::swap
:
std::swap(x[0], x[1]);
答案 2 :(得分:1)
您可以使用swap或临时变量或xor:
char tmp = x[0];
x[0] = x[1];
x[1] = tmp;
或:
x[0] ^= x[1];
x[1] ^= x[0];
x[0] ^= x[1];
或交换:
swap(x[0], x[1]);