我正在研究“timsort”算法对我相当大的数据集进行一些排序:http: //timsort4net.codeplex.com/
通常我使用Array.Sort(Keys, Items)
where Items 是一个整数数组,用作识别排序期间发生的位置变化的方法。
有没有办法在不必大量修改排序算法的实现的情况下获得同样的结果?
我正在研究“timsort”算法对我相当大的数据集进行一些排序:http: //timsort4net.codeplex.com/
通常我使用Array.Sort(Keys, Items)
where Items 是一个整数数组,用作识别排序期间发生的位置变化的方法。
有没有办法在不必大量修改排序算法的实现的情况下获得同样的结果?
您可以使用IList 上定义的扩展方法
public static void TimSort<T>(this IList<T> array, Comparison<T> comparer, bool buffered = true)
对索引列表进行排序,并传入引用给定索引的真实对象的比较,比较它们并返回负值、正值或零值。
希望这可以帮助!