在日常学习工作中总会碰到一些小技巧,在这里记录一下。方便自己查阅。
交换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] 的值溢出的话,程序就会出错。
转载于:https://blog.51cto.com/qiaopeng688/1764870
在日常学习工作中总会碰到一些小技巧,在这里记录一下。方便自己查阅。
交换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] 的值溢出的话,程序就会出错。
转载于:https://blog.51cto.com/qiaopeng688/1764870