首页 > 其他 > 详细

SWAP数据转换的常用方法

时间:2014-03-03 18:09:34      阅读:459      评论:0      收藏:0      [点我收藏+]

在编程中经常要进行数据交换我们数据交换最常用内容如下:

int x = 10;
int y = 5;
int temp = 0;
temp = x;
x = y;
y = temp;

上述方式的优点就是简单易懂,如果面试考官让你不加入第三方变量,完成值交换,你能不能搞定呢,答案是肯定的,可以搞定,看如下介绍:


方案一:采用加减交换,该方式对int类型的最大值和最小值都管用:

int x = 10; 
int y = 5; 
x = x + y;   // x 15 
y = x - y;   // y 10 
x = x - y;   // x 5

方案二:采用异或进行值交换,代码如下:

int x = 10; // x 0000 1010 
int y = 5;  // y 0000 0101 
x = x ^ y;  // x 0000 1111 
y = x ^ y;  // y 0000 1010 
x = x ^ y;  // x 0000 0101

方案三:采用表达式运算交换,代码如下;

//利用表达式运算
int x = 10; 
int y = 5; 
x = y + 0 * (y = x);  // 先将y参与运算,然后将x值赋给y,最后再将结果(也就是y)赋给x 
System.out.println("x: " + x + " y: " + y);


本文出自 “用代码烙印人生” 博客,请务必保留此出处http://vologa.blog.51cto.com/2662985/1366008

SWAP数据转换的常用方法,布布扣,bubuko.com

SWAP数据转换的常用方法

原文:http://vologa.blog.51cto.com/2662985/1366008

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!