两个数的交换方法(三种解决方案)
两个数交换的解决方案(3种)
前提: i^i=0 j^0=j abb=a
int x = 1,y = 2; x = 2 ,y= 1;
//两个数交换的解决方案(3种)
//进行三次按位异或,得到数据的交换
int k=2,l=1;
k=k^l;
l=k^l; //l=k^l^l,所以l=k
k=k^l; //k=k^l^k,所以k=l
System.out.println("第一种:"+k+","+l);
//取一个中间值,让两个数字进行数据的交换
原创
2020-07-18 20:29:40 ·
634 阅读 ·
0 评论