设现在有两个变量A和B
要求不通过第三空间完成变量A和B的数值交换
首先讨论一下基于第三空间的数值交换方法
int tmp;
tmp = A;
A = B;
B = tmp;
现在我们讨论不通过第三空间的数值交换方法
A = A ^ B;
B = A ^ B;
A = A ^ B;
优化后算法如下:
A ^= B;
B ^= A;
A ^= B;
设现在有两个变量A和B
要求不通过第三空间完成变量A和B的数值交换
首先讨论一下基于第三空间的数值交换方法
int tmp;
tmp = A;
A = B;
B = tmp;
现在我们讨论不通过第三空间的数值交换方法
A = A ^ B;
B = A ^ B;
A = A ^ B;
优化后算法如下:
A ^= B;
B ^= A;
A ^= B;