using System; namespace IFramework.Queue { /// /// 可变大小的优先级队列 /// /// 队列元素 /// 紧急程度 internal interface IFixedSizePriorityQueue : IPriorityQueue where TPriority : IComparable { /// /// 重新设置队列的大小,使其可以容纳更多的节点,当前的所有节点都会保留
/// 如果试图将队列大小设置成比当前队列中的数量小时,会导致未定义的操作 ///
/// 要设置的最大数量 void Resize(int maxNodes); /// /// 队列中可以入队的最大数量
/// 如果入队数量超过队列的大小(Count == MaxSize时Enqueue()),会导致未定义的操作 ///
int capcity { get; } /// /// 默认情况下在队列中的元素不能添加到另一个队列
/// 如果需要这么做,则在添加到另一个队列前调用当前队列的此方法 ///
void ResetNode(TItem node); } }