美文网首页codeER.tec
[算法]不用第三个数交换2个数的位置

[算法]不用第三个数交换2个数的位置

作者: 程序猿_老李 | 来源:发表于2016-01-23 14:56 被阅读84次

    int a = 10;

    int b = 20;

    第一种方法:

    a = a + b;

    b = a - b;

    a = a - b;

    第二种方法:

    a = a ^ b; (^ 语言中是异或的意思,同为0 异为1 1 ^ 1 = 0, 0 ^ 0 = 0, 1 ^ 0 = 1)

    b = a ^ b;

    a = a ^ b;

    第三种方法 (这种方法容易越界,a 大于int最大值了)

    a = (a + b) - (b = a);

    相关文章

      网友评论

        本文标题:[算法]不用第三个数交换2个数的位置

        本文链接:https://www.haomeiwen.com/subject/qdjrkttx.html