2 votes

Indexer un tableau avec TimSort en C#

Je me suis penché sur l'algorithme "timsort" pour effectuer des tris sur mes ensembles de données assez volumineux : http://timsort4net.codeplex.com/

En général, j'utilise Array.Sort(Keys, Items) où Items est un tableau d'entiers qui sert de méthode pour identifier les changements de position survenus au cours du tri.

Existe-t-il un moyen d'obtenir le même résultat sans avoir à modifier lourdement l'implémentation de l'algorithme de tri ?

3voto

ananthonline Points 7431

Vous pouvez utiliser le méthode d'extension défini sur IList

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

pour trier la liste des indices, et transmet une comparaison qui référence les objets réels donnés par les indices, les compare et renvoie des valeurs négatives, positives ou nulles.

J'espère que cela vous aidera !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X