在日常学习工作中总会碰到一些小技巧,在这里记录一下。方便自己查阅。


交换a[i]与a[j]的值。

a[i] = a[i] ^ a[j];

a[j] = a[i] ^ a[j];

a[i] = a[i] ^ a[j];

使用异或会使速度加快,因为是位运算。而且不需要中间量。

但是有一个bug是,如果a[i] + a[j] 的值溢出的话,程序就会出错。