方法:
此方法节省内存,调用方便,只需在头文件处写下面一行#define swap(a, b) a=a^b,b=a^b,a=a^b
^是按位异或运算符,也就是对应的位如果不同则结果为1,相同为0。
例如:
a = 19,b = 7;
那么a的二进制为:0001 0001,b的二进制为:0000 0111
a ^ b就等于
0001 0011
0000 0111
————
0001 0100 这个转化成十进制就是:20 那么a ^ b=20.
方法:
此方法节省内存,调用方便,只需在头文件处写下面一行#define swap(a, b) a=a^b,b=a^b,a=a^b
^是按位异或运算符,也就是对应的位如果不同则结果为1,相同为0。
例如:
a = 19,b = 7;
那么a的二进制为:0001 0001,b的二进制为:0000 0111
a ^ b就等于
0001 0011
0000 0111
————
0001 0100 这个转化成十进制就是:20 那么a ^ b=20.