C# البحث الثنائي على 2 فهارس
-
22-09-2019 - |
سؤال
لدي كائن مع سمات. StartIndex ، endindex
أنا قادر على إجراء البحث الثنائي بناءً على startIndex من خلال تنفيذ ما يلي:
int IComparable.CompareTo(object obj)
{
Repeat r = (Repeat)obj;
return this.startIndex.CompareTo(r.startIndex);
}
ولكن مع نفس الكائن المتكرر ، أود إجراء البحث الثنائي أيضًا في فهرس النهاية بشكل منفصل.
كيف يمكنني أن أفعل هذا ؟
شكرًا.
المحلول
إذا كنت تستخدم Array.BinarySearch()
أو List<T>.BinarySearch()
الطرق ، يمكنك استخدام الحمل الزائد الذي يأخذ IComparer
أو IComparer<T>
. ثم يمكنك تنفيذ دلالات المقارنة في فصل منفصل وتمريرها عندما تريد إجراء بحث.
لا تنتمي إلى StackOverflow