صفيف الفهرس مع TimSort في C#
سؤال
كنت أبحث في خوارزمية "timsort" لإجراء بعض الفرز على مجموعات البيانات الكبيرة إلى حد ما:http://timsort4net.codeplex.com/
عادة ما أستخدم Array.Sort(Keys, Items)
حيث العناصر عبارة عن مصفوفة أعداد صحيحة تعمل كوسيلة لتحديد تغييرات الموضع التي حدثت أثناء الفرز.
هل هناك أي طريقة لتحقيق هذه النتيجة نفسها دون الحاجة إلى تعديل تنفيذ خوارزمية الفرز بشكل كبير؟
المحلول
يمكنك استخدام طريقة التمديد محددة على Ilist
public static void TimSort<T>(this IList<T> array, Comparison<T> comparer, bool buffered = true)
لفرز قائمة المؤشرات، وتمرير مقارنة تشير إلى الكائنات الحقيقية في ضوء المؤشرات، ومقارنتها وإرجاع قيم سلبية أو موجبة أو صفرية.
أتمنى أن يساعدك هذا!
لا تنتمي إلى StackOverflow