一尘不染

什么时候不使用第三个变量就交换两个数字?

algorithm

我知道为什么在大多数情况下使用描述的方法没有意义:代码变得混乱且难以阅读,并且通常比使用第三个“
temp”变量的解决方案执行得更慢。但是,我发现的任何问题都没有讨论实践中二变量方法的任何好处。它们是否具有赎回的质量或好处(历史的或现代的),还是仅作为晦涩的编程琐事有用?


阅读 340

收藏
2020-07-28

共1个答案

一尘不染

在这一点上,这只是一个巧妙的把戏。如果您的编译器将识别 正常的
交换并适当地对其进行了优化,则可以进行速度明智的选择(但不能保证它会识别奇怪的交换并对其进行适当的xor优化)。

2020-07-28