a, b交换与比较问题

Posted in4ight

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了a, b交换与比较问题相关的知识,希望对你有一定的参考价值。

1. 求a, b中较大的数,不使用if、?、switch等判断语句。

答案:

int max = ((a+b)+abs(a-b)) / 2

另一种思路是求两者的差,然后通过位运算判断差值的正负,不过个人觉得还是第一种各位简洁优雅。

 

2. 交换a, b的值,要求不使用任何中间变量。

答案:

a = a^b;
b = a^b;
a = a^b;

 

以上是关于a, b交换与比较问题的主要内容,如果未能解决你的问题,请参考以下文章

基础算法-冒泡排序与二分查找(JAVA实现)

使用复选框交换div中所有内容的位置

三层交换机的原理

比较结果的原子交换值

Ruby - 比较数组和交换索引

Android 动画嵌套片段