您的位置:首页 > 其它

交换a、b的值temp = a; a = b; b = temp;比a = a^b;b = a^b;a = a^b;快

2015-07-26 23:28 441 查看
先看代码,交换a、b的值十亿次
<span style="font-size:14px;">		int a=222;
int b=111;

int size = 1000000000;
int temp=0;
long start = System.nanoTime();

for (int i = 0; i < size; i++) {
temp = a;
a = b;
b = temp;
}
System.out.println("用时ns:"+(System.nanoTime()-start));

a=222;
b=111;
start = System.nanoTime();

for (int i = 0; i < size; i++) {
a = a^b;
b = a^b;
a = a^b;
}
System.out.println("用时ns:"+(System.nanoTime()-start));</span>


运行结果(纳秒):

用时ns:996150

用时ns:1769620

发现使用赋值交换比位运算交换两个数的值要快将近一倍。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: