1. 程式人生 > >排序演算法的另一種方式(價效比不高)

排序演算法的另一種方式(價效比不高)

# 概述

* 只覺得好奇,所以和大家探討一下

* 筆者在學習C#高階程式設計-委託-這一章節發現的Bubble Sorter示例

* 不同於老師所教的排序演算法的使用方式

* 最後總結下來,雖然單純時間複雜度來說,不穩定,而且還很高

# 程式碼

---程式碼一(常見):

        static void SortingArray(ref int[] array, ref int times)
        {
            for (int i = 0; i < array.Length - 1; i++)
            {
                for (int j = i; j < array.Length - i - 1; j++)
                {
                    if (array[j] > array[j + 1])
                    {
                        int temp = array[j];
                        array[j] = array[j + 1];
                        array[j + 1] = temp;
                    }
                    times++;
                }
            }

        }

---程式碼二(書中的排序演算法):

        static void SortArray(ref int[] array, ref int times)
        {
            bool swaped = true;
            do
            {
                swaped = false;
                for (int i = 0; i < array.Length - 1; i++)
                {
                    if (array[i] > array[i + 1])
                    {
                        int temp = array[i];
                        array[i] = array[i + 1];
                        array[i + 1] = temp;
                        swaped = true;
                    }
                    times++;
                }
            } while (swaped);

        }

# 總結

* 筆者開始並不能很好的理解書中的排序演算法,數學差···邏輯思維跟不上···

* 不過最後筆者只是簡單的發現,次數上面的差距···

# 擴充套件

* 不知道有沒有大佬有其他的發現,雖然對於功利主義者,此行沒意義

* just fun,no matter.