private void SwapStacks(MyStack <T> sending, MyStack <T> receiving) { while (!sending.IsEmpty()) { var nodeToSwap = sending.Pop(); receiving.Push(nodeToSwap); } }
public int Pop() { var poppedVal = base.Pop(); if (poppedVal == Min()) { stackOfMins.Pop(); } return(poppedVal); }
public T Dequeue() { //if (IsEmpty()) // return default; if (oldestFirst.IsEmpty()) { SwapStacks(); } return(oldestFirst.Pop()); }
public T Pop() { var currentStack = stack.Peek(); var returnedValue = currentStack.Pop(); if (currentStack.IsEmpty()) { stack.Pop(); } counter--; return(returnedValue); }