/// <summary> /// Removes and returns the key-value pair with the minimum key /// </summary> /// <returns></returns> public override (K, V) RemoveMin() { var p = FindMin(); var item = data.Remove(p); return(item.key, item.value); }
/// <summary> /// Removes and returns the key-value pair in front of the Queue /// </summary> /// <returns></returns> public override (K, V) RemoveMin() { if (IsEmpty()) { throw new InvalidOperationException("The Priority Queue is empty"); } Item item = data.Remove(data.First()); return(item.key, item.value); }