读书人

Swap函数的N类写法

发布时间: 2012-09-09 09:27:54 作者: rapoo

Swap函数的N种写法

异或运算中有这样的一个性质:a == a^b^b,计算过程是:a = a ^ bb = b ^ (a^b)a = (a^b) ^ (b^a^b)void swap(int* a, int* b){    //(1)用异或运算  *a ^= *b;     *b ^= *a;     *a ^= *b;*a ^= *b ^= *a ^= *b;*a ^= (*b ^= (*a ^= *b));//(2)用加减运算   *a = *a + *b;*b = *a - *b;*a = *a - *b;//2、引入中间变量int t = *a;*a = *b;*b = t;}

读书人网 >编程

热点推荐