今天看到一个不用额外空间,交换两个数值的算法,感觉很酷。
a = a + b;
b = a - b;
a = a - b;
a = a ^ b;
b = a ^ b;
a = a ^ b;
x ^= y;
y ^= x;
x ^= y;
x = x + y;
y = x - y;
x = x - y;
x = x - y;
y = y + x;
x = y - x;
x = y - x;
y = y - x;
x = x + y;
今天看到一个不用额外空间,交换两个数值的算法,感觉很酷。
a = a + b;
b = a - b;
a = a - b;
a = a ^ b;
b = a ^ b;
a = a ^ b;
x ^= y;
y ^= x;
x ^= y;
x = x + y;
y = x - y;
x = x - y;
x = x - y;
y = y + x;
x = y - x;
x = y - x;
y = y - x;
x = x + y;