在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