#define swap(a,b) (a)^=(b)^=(a)^=(b)
要点:1、元素加小括号,为了防止swap(1+2,2+3)这种情况。
2、采用异或的方式,防止溢出。
另,#define swap(a,b) do{a = a^b;b=a^b;a=a^b;}while(0)这种形式也可以,
加do,while是为了防止
if()
swap(a,b);
else
do somethig
这种情况的发生。
#define swap(a,b) (a)^=(b)^=(a)^=(b)
要点:1、元素加小括号,为了防止swap(1+2,2+3)这种情况。
2、采用异或的方式,防止溢出。
另,#define swap(a,b) do{a = a^b;b=a^b;a=a^b;}while(0)这种形式也可以,
加do,while是为了防止
if()
swap(a,b);
else
do somethig
这种情况的发生。