Я бы хотел создать различные классы сортировки (QuickSort, MergeSort, BucketSort ... и т. Д.).У меня есть общий интерфейс (ISort).
Этот интерфейс имеет метод:
Collection<T> Sort(Collection<T> list);
Теперь, когда я пытаюсь использовать класс, кажется, что я должен объявить так:
ISort<char> sort = new QuickSort();
Реализация QuickSort выглядит следующим образом:
public class QuickSort : ISort<char>
{
public Collection<char> Sort(Collection<char> list)
{
// TODO: implement this.
return null;
}
}
Эта реализация мне не нравится, поскольку шаблон T представляет собой символ.Как я могу сохранить этот класс универсальным, чтобы я мог использовать этот класс для сортировки типа int, float, double, char ... и т.д?