00003 不用第三片空间实现两个数的交换
2011-11-28 01:19
218 查看
采取异或操作比较好 可以防止溢出
public class T { public static void main(String []args){ int a=1,b=2; swap1(a, b); swap2(a, b); } public static void swap1(int a,int b){ a=a+b; b=a-b; a=a-b; System.out.println("a="+a+" b="+b); } public static void swap2(int a,int b){ a=a^b; b=a^b; a=a^b; System.out.println("a="+a+" b="+b); } }
相关文章推荐
- [C/C++] 怎样不用中间变量temp 实现两个数交换
- 不用临时变量交换两个数的值(C实现)
- 如何不用第三个变量实现两个数的交换
- 不用临时变量,实现两个数的交换
- C语言基础篇(2):按位比较是否相等、找出不是成对出现的单数、不用中间变量实现两个数的交换
- 不用临时变量实现两个数的交换
- 怎样不用中间变量temp 实现两个数交换
- 不用额外空间,交换两个数的值.
- 不用额外空间实现两个变量(int 型)的交换
- 【C++】怎样不用中间变量temp 实现两个数交换
- 怎样不用中间变量temp 实现两个数交换
- 不用定义第三个变量来实现两个数的交换
- 不用额外空间,交换两个数
- 【C++】怎样不用中间变量temp 实现两个数交换
- 怎样不用中间变量temp 实现两个数交换
- [转][C/C++] 怎样不用中间变量temp 实现两个数交换
- 【面试题】C语言:使用函数实现两个数的交换
- 18、不使用中间变量,实现两个数的交换 JAVA
- CareerCup 17中等难题 Q17.1 不用临时变量,直接交换两个数
- C++ 引用类型作为函数的形参 (不用第三个数交换两个数)