不使用中间变量交换两数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不使用中间变量交换两数相关的知识,希望对你有一定的参考价值。

public static void swap1(Num num)
{

    num.a = num.a + num.b;
    num.b = num.a - num.b;
    num.a = num.a - num.b;
}

使用异或运算符:我们知道,任何数与0异或后仍然为它本身,两个相同的数异或后为0。

static class Num
{
    int a;
    int b;
}

public static void swap2(Num num)
{
    num.a = num.a ^ num.b;
    num.b = num.a ^ num.b;
    num.a = num.a ^ num.b;
}

以上是关于不使用中间变量交换两数的主要内容,如果未能解决你的问题,请参考以下文章