2012-02-17 91 views
1

我一直在尋找進入「timsort」算法對我相當大的數據集做了一些整理: http://timsort4net.codeplex.com/ 指數陣列與TimSort在C#

通常我用Array.Sort(Keys, Items)其中項目是一個整數陣列,作爲方法以確定排序過程中發生的位置變化。

有什麼辦法可以達到同樣的結果,而不必大量修改排序算法的實現嗎?

+0

我不明白你的問題你爲什麼認爲你應該改變可用的排序算法? – 2012-02-17 22:22:23

+0

我不認爲我需要改變它自己的算法,只是實現,所以我可以採取一個整數陣列。 – ChandlerPelhams 2012-02-17 22:24:06

+0

您可以使用當前實現而不做任何更改。 – 2012-02-17 22:26:29

回答

1

你可以使用上的IList

public static void TimSort<T>(this IList<T> array, Comparison<T> comparer, bool buffered = true) 

定義extension method排序指標的列表,並通過在引用給定指標的真正對象的比較,比較它們並返回正,負或零值。

希望這會有所幫助!

+0

謝謝!這工作完美。 – ChandlerPelhams 2012-02-17 22:43:02