基于异或(^)运算的数值交换运算

设现在有两个变量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;

阅读更多
文章标签: 算法 优化
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭