Я хотел бы создать различные классы сортировки (QuickSort, MergeSort, BucketSort ... и т. Д.). У меня есть общий интерфейс (ISort).Как написать общий интерфейс 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 ... и т. Д.?
BTW: если у вас есть QuickSort, зачем вам нужны другие;) – Carsten