排序演算法的另一種方式(價效比不高)
# 概述
* 只覺得好奇,所以和大家探討一下
* 筆者在學習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.