gr8vyguy@Blogjava

变量值互换

大家好,这是我在blogjava上第一篇随笔。主要是试试看。

互换变量值大概编程中最简单的一件事了,大多数会用
int x = 1, y = 2;
int z;
= x;
= y;
= z;

这需要借助一个附加变量z。能不能不使用附加变量呢?

用异或运算可以实现这个所谓的in place互换。
^= y;
^= x;
^= y;

这样就可以交换两个整数变量的值了。不信,可以试试。原理也很简单,因为y = (x ^ y) ^ x.


转载请保留http://www.blogjava.net/xilaile/archive/2007/02/15/99983.html

posted on 2007-02-15 12:37 gr8vyguy 阅读(1808) 评论(2)  编辑  收藏 所属分类: 计算机科学基础

评论

# re: 变量值互换 2007-03-05 13:42 李敏

这个题目已经有很多人做了!

int x = 1, y = 2;

x=x+y;

y=x-y;

x=x-y;


这个是目前最简单的一种方式! ^_^  回复  更多评论   

# re: 变量值互换 2007-03-05 13:50 李敏

还有别人也曾经问过如果是两个String,也是不需要借助第三个变量的情况下,来转换!

String a = "a";
String b = "b";

a += b;

b=(a.split(b))[0];
a=(a.split(b))[1];

System.out.println(a);
System.out.println(b);


- -! 觉得我有点无聊了!  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
<2007年2月>
28293031123
45678910
11121314151617
18192021222324
25262728123
45678910

导航

统计

公告

  • 转载请注明出处.
  • msn: gr8vyguy at live.com
  • 常用链接

    留言簿(9)

    随笔分类(68)

    随笔档案(80)

    文章分类(1)

    My Open Source Projects

    搜索

    积分与排名

    最新评论