不用臨時的變量 交換兩個數的兩種方法

1.異或算法(這種方法不借助第三個變量,也不會產生溢出,比較安全,但僅限整數類型)算法

int a = 10;
int b = 5;
a ^= b;
b ^= a;
a ^= b;
Console.WriteLine("{0}  {1}", a, b);

2.直接求差值安全

int a=10;
int b=5;
a = a + b;
b = a - b;
a = a - b;

3.利用ref封裝方法spa

            int a = 10;
            int b = 20;

            Swap(ref a, ref b);

            Console.WriteLine(a);
            Console.WriteLine(b);
            Console.ReadKey();

            private static void Swap(ref int n1,ref int n2)
            {
                int tmp = n1;
                n1 = n2;
                n2 = tmp;
            }
相關文章
相關標籤/搜索