我正在实现一个通用的优先级队列作为家庭作业项目的一部分。我想知道当PriorityQueue为空时要返回什么。我无法返回null。数据结构为空时返回什么?
处理这种情况的最佳方法是什么?实施这种数据结构时最好的设计选择是什么?
class PQueue<T> : IPQueue<T>
{
T[] items;
//..
public T RemoveMax()
{
if(heapSize < 1) //Heap Empty
return default(T);
T max = items[0];
//..
return max;
}
}
这是一个不错的选择。我试图将空支票附在RemoveMax上。谢谢! – Nemo 2012-01-30 03:33:09