2016-12-20 1 views
-1

Ich habe vor kurzem angefangen, einige C++Werte im gleichen Vektor austauschen

zu sehen

Aber die Zweifel, die ich habe, ist ein bisschen schnell, da ich keine schnelle Antwort finden. Wenn ich einen Vektor in C++ habe, wie kann ich die Werte davon austauschen?

in Python:

x = ["a", "b", "c", "d"] 
x[0], x[1] = x[1], x[0] 

Output: ["b", "a", "c", "d"] 

in C++:

std::vector <char> x {'a', 'b', 'c', 'd'}; 
char n = x.at(0); 
x[0] = x[1]; 
x[1] = n; 

Nur aus Neugier ist es eine andere Art und Weise in C++?

Antwort

2

Wie wäre es

std::swap(x[0],x[1]); 

Dies ist C++ 11 kompatibel.

1

können Sie std::swap verwenden:

std::swap(x[0], x[1]); 
1

Sie tauschen oder temporäre Variable oder xor verwenden können:

char tmp = x[0]; 
x[0] = x[1]; 
x[1] = tmp; 

oder:

x[0] ^= x[1]; 
x[1] ^= x[0]; 
x[0] ^= x[1]; 

oder swap:

swap(x[0], x[1]); 
Verwandte Themen