eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Дек неограниченного размера

Дек неограниченного размера

Реализуйте структуру данных "\textit{дек}". Напишите программу, содержащую описание дека и моделирующую работу дека, реализовав все указанные здесь методы. Программа считывает последовательность команд и в зависимости от команды выполняет ту или иную операцию. После выполнения каждой команды программа должна вывести одну строчку. Возможные команды для программы: \textbf{push_front} Добавить (положить) в начало дека новый элемент. Программа должна вывести \textbf{ok}. \textbf{push_back} Добавить (положить) в конец дека новый элемент. Программа должна вывести \textbf{ok}. \textbf{pop_front} Извлечь из дека первый элемент. Программа должна вывести его значение. \textbf{pop_back} Извлечь из дека последний элемент. Программа должна вывести его значение. \textbf{front} Узнать значение первого элемента (не удаляя его). Программа должна вывести его значение. \textbf{back} Узнать значение последнего элемента (не удаляя его). Программа должна вывести его значение. \textbf{size} Вывести количество элементов в деке. \textbf{clear} Очистить дек (удалить из него все элементы) и вывести \textbf{ok}. \textbf{exit} Программа должна вывести \textbf{bye} и завершить работу. Размер дека должен быть ограничен только размером доступной оперативной памяти. Перед исполнением операций \textbf{pop_front}, \textbf{pop_back}, \textbf{front}, \textbf{back} программа должна проверять, содержится ли в деке хотя бы один элемент. Если во входных данных встречается операция \textbf{pop_front}, \textbf{pop_back}, \textbf{front}, \textbf{back}, и при этом дек пуст, то программа должна вместо числового значения вывести строку \textbf{error}. \InputFile Описаны в условии. См. также пример входных данных. \OutputFile Описаны в условии. См. также пример выходных данных.
Лимит времени 1 секунда
Лимит использования памяти 256 MiB
Входные данные #1
push_back 1
back
exit
Выходные данные #1
ok
1
bye