gpt4 book ai didi

algorithm - 交换2个变量的各种方法有哪些

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:35:29 25 4
gpt4 key购买 nike

这些我都知道。还有其他方法吗?哪个更好?

  1. 使用临时变量
  2. 使用一些算术运算
  3. 使用按位异或运算

我认为最好的方法是异或实现。有什么建议吗?

最佳答案

任何不使用临时变量/寄存器的东西都保证不会一直工作。因此不建议使用它。

按位异或交换对同一个变量不起作用。( http://en.wikipedia.org/wiki/XOR_swap_algorithm#Reasons_for_avoidance_in_practice )

“没有临时变量交换的算术”会出现溢出问题。

另请注意,如果您使用临时变量进行简单的交换,编译器足够聪明,可以在不使用临时变量的情况下将其转换为程序集。如果你试图过度智能,那么

  1. 您的代码将以相同或更慢的速度结束并且
  2. 您的代码的可读性肯定会降低。

关于algorithm - 交换2个变量的各种方法有哪些,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7184985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com