public int pop() { int lastStackIndex = listOfStacks.Count - 1; StackPlate stack = getStack(lastStackIndex); int val = stack.pop(); if (stack.isEmpty() && this.listOfStacks.Count > 1) { listOfStacks.RemoveAt(lastStackIndex); } return(val); }
private int leftShif(int index) { int numberStacks = listOfStacks.Count; StackPlate prevStack = getStack(index); int result = prevStack.pop(); for (int i = index + 1; i < numberStacks; i++) { StackPlate stack = getStack(i); int val = stack.getBottom(); if (stack.isEmpty() && this.listOfStacks.Count > 1) { listOfStacks.RemoveAt(i); } prevStack.push(val); prevStack = stack; } return(result); }