ZIP10不借助第三个变量,交换两个数 (使用异或^).zip 801B

weixin_44259230需要积分:3(1积分=1元)

资源文件列表:

10不借助第三个变量,交换两个数。(使用异或^).zip 大约有1个文件
  1. 10不借助第三个变量,交换两个数。(使用异或^).txt 1.45KB

资源介绍:

不借助第三个变量,交换两个数。(使用异或^)
package class02; import java.util.Arrays; /** * 不借助第三个变量,交换两个数。(使用异或^) * 异或(^):相同为0,不同为1。 * 记为:无进位相加。 */ public class Code1_Swap { public static void main(String[] args) { int a = 2; int b = 3; System.out.println(a); System.out.println(b); a = a ^ b; b = a ^ b; a = a ^ b; System.out.println(a); System.out.println(b); System.out.println("====================================="); int[] arr = {5, 6, 7, 8, 9}; int i = 2; int j = 4; arr[i] = arr[i] ^ arr[j]; arr[j] = arr[i] ^ arr[j]; arr[i] = arr[i] ^ arr[j]; System.out.println("arr = " + Arrays.toString(arr));//arr = [5, 6, 9, 8, 7] //当i和j不同时,即索引位置不同时,也就是要交换的两个数,所指向的地址,不是同一个地址时, //使用异或运算,完成交换,是正确的。 //如果要交换的两个数,所指向的地址,是同一个地址时,使用异或运算,完成交换,是错误的。 //错误的结果就是,两个数都被刷成了0。如下: int n = 3; int m = 3; arr[n] = arr[n] ^ arr[m]; arr[m] = arr[n] ^ arr[m]; arr[n] = arr[n] ^ arr[m]; System.out.println("arr = " + Arrays.toString(arr));//arr = [5, 6, 9, 0, 7] } }
100+评论
captcha
    类型标题大小时间
    ZIP【浏览器插件】Decentraleyes.zip6.87MB8月前
    ZIP部署GlusterFS分布式存储所使用的本地yum源87.5MB8月前
    ZIPprod-11111111113.74MB8月前
    ZIPstg-1111111113.74MB8月前
    ZIP【浏览器插件】LazyTabs.zip11.13KB8月前
    ZIP【浏览器插件】卡片书签.zip1011.59KB8月前
    ZIP【浏览器插件】常用工具ToolBox.zip293.26KB8月前
    ZIP【浏览器插件】Microsoft编辑器 拼写和语法检查器.zip3.87MB8月前