在C++中,與優先級隊列,我可以寫:如何在C#泛型容器中實現更少和更大的實現?
priority_queue<int, vector<int>, greater<int>> min_pq;
priority_queue<int, vector<int>, less<int>> max_pq;
我不知道是否有一個等效的方式做到這一點在C#中的容器?我正在實現一個優先級隊列,我需要一種方式來指定用戶使用其構造函數時的行爲。我可以使用boolean
標誌,但它看起來並不適合我。任何想法?
public class PriorityQueue<T> where T : IComparable<T> {
private List<T> data;
/// <summary>
///
/// </summary>
/// <param name="item"></param>
public void Push(T item) {
}
/// <summary>
///
/// </summary>
public void Pop() {
}
}
我不是很瞭解這個問題,但是你需要類似SortedList的東西嗎? http://msdn.microsoft.com/en-us/library/system.collections.sortedlist.aspx – Haedrian 2012-07-21 21:24:37
是的,相似,但我想在模板參數而不是構造函數中指定排序條件。 – Chan 2012-07-21 21:26:44