第一种,常规操作
实例代码如下
//交换数组arr[i]与arr[j]的值 public static void swap(int[] arr,int i,int j){ int tmp=arr[i]; arr[i]=arr[j]; arr[j]=tmp; }
第二种,用异或方法实现
//交换arr的i和j上位置的值 public static void swap(int[] arr,int i,int j){ arr[i] =arr[i] ^ arr[j]; arr[j] =arr[i] ^ arr[j]; arr[i] =arr[i] ^ arr[j]; }
原理如下:用的是异或运算的性质0^N=N, N^N=0