Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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);
        }