我想创建各种排序类(QuickSort,MergeSort,BucketSort等)。 我有一个共同的接口(ISort)。如何编写通用的ISort接口?
这个接口有一个方法:
Collection<T> Sort(Collection<T> list);
现在,当我尝试使用它似乎是一个类像我要声明的是这样的:
ISort<char> sort = new QuickSort();
快速排序的实现看起来是这样的:
public class QuickSort : ISort<char>
{
public Collection<char> Sort(Collection<char> list)
{
// TODO: implement this.
return null;
}
}
这个实现是我不喜欢的,因为T模板是一个字符。 我该如何保持这个类的通用,以便我可以使用这个类来排序int,float,double,char ...等?
顺便说一句:如果你有QuickSort,为什么你需要其他的;) – Carsten 2012-04-03 05:38:55