我想創建各種排序類(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