把一个整数数组对应两个下标的值, 交换一下位置. 我们根据 交换两个整数 这篇文章, 至少可以有三种交换方式, 此处以^运算为例
// 交换两个位置的数
void swap(int *list, int i, int j) {
if (i == j) { return; }
list[i] = list[i] ^ list[j];
list[j] = list[i] ^ list[j];
list[i] = list[i] ^ list[j];
}
注意: 一定要判断下标是否相等, 相等时如果继续执行是会出错的.