Esempio n. 1
0
 private void SwapStacks(MyStack <T> sending, MyStack <T> receiving)
 {
     while (!sending.IsEmpty())
     {
         var nodeToSwap = sending.Pop();
         receiving.Push(nodeToSwap);
     }
 }
Esempio n. 2
0
        public int Pop()
        {
            var poppedVal = base.Pop();

            if (poppedVal == Min())
            {
                stackOfMins.Pop();
            }

            return(poppedVal);
        }
Esempio n. 3
0
        public T Dequeue()
        {
            //if (IsEmpty())
            //    return default;

            if (oldestFirst.IsEmpty())
            {
                SwapStacks();
            }

            return(oldestFirst.Pop());
        }
Esempio n. 4
0
        public T Pop()
        {
            var currentStack  = stack.Peek();
            var returnedValue = currentStack.Pop();

            if (currentStack.IsEmpty())
            {
                stack.Pop();
            }

            counter--;
            return(returnedValue);
        }