【发布时间】:2015-10-31 23:40:03
【问题描述】:
我在关于排序的 wiki 页面中有这种平静的代码。 我想它必须交换为数组元素,但有人可以正确解释一下
array[i] ^= array[i-1];
array[i-1] ^= array[i];
array[i] ^= array[i-1];
【问题讨论】:
我在关于排序的 wiki 页面中有这种平静的代码。 我想它必须交换为数组元素,但有人可以正确解释一下
array[i] ^= array[i-1];
array[i-1] ^= array[i];
array[i] ^= array[i-1];
【问题讨论】:
这是一种交换数组[i] 和数组[i-1] 的方式。
^= 在两个参数之间进行按位异或,并将其分配给左边的参数。
要了解这是如何导致交换的,让我们只考虑一对位:A 和 B,它们分别包含值 x 和 y。
如您所见,A 和 B 已交换。
【讨论】: