交换数组元素的位置

977 阅读1分钟

把一个整数数组对应两个下标的值, 交换一下位置. 我们根据 交换两个整数 这篇文章, 至少可以有三种交换方式, 此处以^运算为例

// 交换两个位置的数
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]; 
}

注意: 一定要判断下标是否相等, 相等时如果继续执行是会出错的.