Array.Sort 採用 快速排序 演算法,平均時間複雜度 O(n log n),在大量資料排序時效能優異。本文介紹演算法原理、方法多載與實測效能表現。
屬於 不穩定排序(相等元素相對位置可能改變),但原地排序、空間複雜度低。
// 基本排序(實作 IComparable)
public static void Sort(Array array);
// 指定範圍排序
public static void Sort(Array array, int index, int length);
// 使用自訂比較器
public static void Sort(Array array, IComparer comparer);
// 泛型版本(效能較佳,避免裝箱)
public static void Sort(T[] array);
public static void Sort(T[] array, IComparer<T> comparer);
public static void Sort(T[] array, Comparison<T> comparison);
Sort(T[]),避免裝箱/拆箱,型別安全。Comparison<T> 委派或 IComparer<T> 實作。OrderBy (LINQ) 或自行實作合併排序。Array.Sort 是 .NET 陣列排序的首選工具,理解其快速排序基底與多載選擇,能寫出高效能、可維護的排序代碼。