CSharp交换函数swap的三种实现方法

本文采用三种方式实现两个数之间的交换,分别是①借助辅助变量temp的swap函数,②采用加减法的swap函数 ,③使用异或运算的swap函数。

1.利用temp实现:

private static void TempSwap(ref int a,ref int b)
{
    int c = a;
    a = b;
    b = c;
}

2. 采用加减法:

private static void PlusSwap(ref int a,ref int b)
{
    a = a + b;
    b = a - b;
    a = a - b;
}

3. 采用XOR

private static void XorSwap(ref int a,ref int b)
{
    a ^= b;
    b ^= a;
    a ^= b;
}

4. 测试

static void Main()
{
    int a = 5;
    int b = 6;
    PlusSwap(ref a,ref b);
    Console.WriteLine(a);
    Console.WriteLine(b);
}