通
常
我
们
这
样
写
。
。
。
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原理是一样的。