mark
{:5_91:}
学习
谢谢老师
膜拜学习下
{:9_240:}
。。。。
xiexie
vfdsfds
kankna
学习,谢谢分享知识。。。。
:dizzy::dizzy:
刚
1. 异或具有可逆性 例如x=1,y=3
y=x^y=1^3=0001^0011=0010=2
x=x^y=1^2=0001^0010=0011=3
y=x^y=2^3=0010^0011=0001=1
交换完毕。
2.当数组个数为基数时,最中间那个数first和last是相等的,两个相等的数异或=0
3.当first=last时不交换
感觉大家关于原因是两个数相等异或等于0这个,判断得太武断了
假设传进来的都是3.
那么*y = 3 ^ 3 = 0;
*x = 3 ^ 0 = 3;
*y = 3 ^ 0 =3;
为啥结果不是这样???
HapPy12138 发表于 2015-8-11 21:46
1. 异或具有可逆性 例如x=1,y=3
y=x^y=1^3=0001^0011=0010=2
x=x^y=1^2=0001^0010=0011=3
假设传进来的都是3.
那么*y = 3 ^ 3 = 0;
*x = 3 ^ 0 = 3;
*y = 3 ^ 0 =3;
为啥结果不是这样???
很好
for(first=0,last=count-1; first<count/2;first++,last--)
{
//照旧
}
二进制运算真伟大~