using System;
using System.Diagnostics;
namespace ConsoleApp7
{
class Program
{
static void Main(string[] args)
{
int a = 111, b = 222;
Stopwatch s = new Stopwatch();
s.Restart();
for (int i = 0; i < 10000000; i++)
{
Swap1(ref a, ref b);
}
s.Stop();
Console.WriteLine(s.Elapsed);
Console.WriteLine(s.ElapsedMilliseconds);
Console.WriteLine(s.ElapsedTicks);
Console.WriteLine();
s.Restart();
for (int i = 0; i < 10000000; i++)
{
Swap2(ref a, ref b);
}
s.Stop();
Console.WriteLine(s.Elapsed);
Console.WriteLine(s.ElapsedMilliseconds);
Console.WriteLine(s.ElapsedTicks);
Console.WriteLine();
s.Restart();
for (int i = 0; i < 10000000; i++)
{
Swap3(ref a, ref b);
}
s.Stop();
Console.WriteLine(s.Elapsed);
Console.WriteLine(s.ElapsedMilliseconds);
Console.WriteLine(s.ElapsedTicks);
Console.ReadKey();
}
public static void Swap1(ref int a, ref int b)
{
int temp = a;
a = b;
b = temp;
}
public static void Swap2(ref int a, ref int b)
{
a = a + b;
b = a - b;
a = a - b;
}
public static void Swap3(ref int a, ref int b)
{
a = a ^ b;
b = a ^ b;
a = a ^ b;
}
}
}
如何不使用第三个变量来交换两个数的值
最新推荐文章于 2022-05-10 23:23:00 发布