Problems
Стек неограниченного размера
Стек неограниченного размера
Реализуйте структуру данных "\textit{стек}". Напишите программу, содержащую описание стека и моделирующую работу стека, реализовав все указанные здесь методы. Программа считывает последовательность команд и в зависимости от команды выполняет ту или иную операцию. После выполнения каждой команды программа должна вывести одну строчку. Возможные команды для программы:
\textbf{push n}
Добавить в стек число \textbf{n} (значение \textbf{n} задается после команды). Программа должна вывести \textbf{ok}.
\textbf{pop}
Удалить из стека последний элемент. Программа должна вывести его значение.
\textbf{back}
Программа должна вывести значение последнего элемента, не удаляя его из стека.
\textbf{size}
Программа должна вывести количество элементов в стеке.
\textbf{clear}
Программа должна очистить стек и вывести \textbf{ok}.
\textbf{exit}
Программа должна вывести \textbf{bye} и завершить работу.
Размер стека должен быть ограничен только размером доступной оперативной памяти. Перед исполнением операций \textbf{back} и \textbf{pop} программа должна проверять, содержится ли в стеке хотя бы один элемент. Если во входных данных встречается операция \textbf{back} или \textbf{pop}, и при этом стек пуст, то программа должна вместо числового значения вывести строку \textbf{error}.
\InputFile
Описаны в условии. См. также пример входных данных.
\OutputFile
Описаны в условии. См. также пример выходных данных.
Input example #1
push 2 push 3 push 5 back size pop size push 7 pop clear size exit
Output example #1
ok ok ok 5 3 5 2 ok 7 ok 0 bye
Example description: Размер стека должен быть ограничен только размером доступной оперативной памяти.