static void Main(string[] args)
{
int[] data = { 2,6 ,3, 7, 8, 1, 5, 4, 9 };
Console.WriteLine(DateTime.Now.Second + ":" + DateTime.Now.Millisecond);
//quicksort(data, 0, data.Length - 1);
//digui(data);
maopao(data);
Console.WriteLine(DateTime.Now.Second + ":" + DateTime.Now.Millisecond);
Console.ReadKey();
}
private static void maopao(int[] data)
{
for (int i = 0; i < data.Length - 1; i++)
{
for (int j = data.Length - 1; j > i; j--)
{
//这种对比次数少
if (data[i] > data[j])
{
int a = data[i];
data[i] = data[j];
data[j] = a;
Console.WriteLine(string.Concat(data));
}
// 网上常见的这种比较次数会比上一个次数多
//if (data[j - 1] > data[j])
//{
// int a = data[j - 1];
// data[j - 1] = data[j];
// data[j] = a;
// Console.WriteLine("2-------" + string.Concat(data));
//}
}
}
}
两种结果都是一样的 目前来看都是一样的 我个人感觉第一种有点像快速排序了 有没有大佬解释下