http://hi.baidu.com/probill
通常我们这样写。。。
void swap(int &a,int &b)
{
int temp;
a=temp;
a=b;
b=temp;
}
可是,引入了temp这个变量。 其实它是不必要的,下面是我收集的几种方法。
(1)
a=a+b;
b=a-b;
a=a-b;
(2)
a = a+b-(b=a);
(3)
a ^= b ^= a ^=b;
(4)
a = a ^ b;
b = a ^ b;
a = a ^ b;
1和2、3和4原理是一样的。
通常我们这样写。。。
void swap(int &a,int &b)
{
int temp;
a=temp;
a=b;
b=temp;
}
可是,引入了temp这个变量。 其实它是不必要的,下面是我收集的几种方法。
(1)
a=a+b;
b=a-b;
a=a-b;
(2)
a = a+b-(b=a);
(3)
a ^= b ^= a ^=b;
(4)
a = a ^ b;
b = a ^ b;
a = a ^ b;
1和2、3和4原理是一样的。