排序算法对冒泡排序的优化改进算法

冒泡排序比较一次就交换一次前后的顺序,最后将最大的数沉底。如果我们将每次比较的结果记录下来,而不进行交换,而是等到最后才交换顺序,就会节省很多的工作,下面是改进后的算法。

public static int[] SortNumber(int[] ary)
{
            int m = 0;
            for (int i = 0; i < ary.Length; i++)
            {
                    for (int j = 1; j < ary.Length - i; j++)
                    {
                           if (ary[m] < ary[j])
                           {
                                 m = j;
                           }
                    }
                    int k = ary.Length - i - 1;
                    if (m != k)
                    {
                            int t = ary[m];
                            ary[m] = ary[k];
                            ary[k] = t;                  
                   }
                   m = 0;
          }
          return ary;
}

工欲善其事,必先利其器。
原文地址:https://www.cnblogs.com/zhangzhu/p/2494988.html