第一种,借助中间变量:
void swap1(int& x, int& y) {
int tmp = x;
x = y;
y = tmp;
}
以下两种不需要借助中间变量:
第二种:
void swap2(int& x, int& y) {
x = x + y;
y = x - y;
x = x - y;
}
第三种,利用位运算的异或运算:
void swap3(int& x, int& y) {
x = x ^ y;
y = x ^ y;
x = x ^ y;
}