void swap(int &a, int &b) { a ^= b;//a = (a^b) b ^= a;//b = b^(a^b)=0^a=a a ^= b;//a = (a^b)^a=b }
位运算两数交换
原文:http://www.cnblogs.com/jecyhw/p/4368993.html