2012-02-17 89 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