## 原来写法(java)
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
数学方法,先加后减
arr[j + 1] = arr[j + 1] + arr[j];
arr[j] = arr[j + 1] - arr[j];
arr[j + 1] = arr[j + 1] - arr[j];
数学方法,先减后加(降低数字越界的概率)
arr[j + 1] = arr[j] - arr[j + 1];
arr[j] = arr[j] - arr[j + 1];
arr[j + 1] = arr[j + 1] + arr[j];
异或(不会数字越界)
arr[i] = arr[i] ^ arr[j];
arr[j] = arr[j] ^ arr[i];
arr[i] = arr[i] ^ arr[j];
两数交换(不引入第三变量,不数字越界)
最新推荐文章于 2021-12-30 17:30:50 发布