public void Push(int value) { if (_stack.Count == 0) { _stack.Push(value); return; } _bufferStack = new SousStack(); while (_stack.Count > 0) { if (_stack.TopMost() < value) { _bufferStack.Push(_stack.TopMost()); _stack.Pop(); } } _stack.Push(value); if (_bufferStack.Count > 0) { _stack.Push(_bufferStack.TopMost()); _bufferStack.Pop(); } }
private void PushToPopStack() { _popStack = new SousStack(); while (_pushStack.Count > 0) { _popStack.Push(_popStack.TopMost()); _popStack.Pop(); } }
public void Push(int value) { if (_count / MAX_SOUS_STACK == MAX_STACK) { throw new IndexOutOfRangeException("Stack reach maximum elements."); } if (_count < MAX_SOUS_STACK) { _countSStack = 0; } else { if (_count % MAX_SOUS_STACK == 0) { _countSStack = (int)_countSStack / MAX_SOUS_STACK + 1; _arrSStack[_countSStack] = new SousStack(); } } _arrSStack[_countSStack].Push(value); _count++; }
public Ex4_3() { _stack = new SousStack(); _bufferStack = new SousStack(); }
public Ex3_3() { _pushStack = new SousStack(); _popStack = new SousStack(); }