Задача №60. Простой дек
Реализуйте структуру данных "дек". Напишите программу, содержащую описание дека и моделирующую работу дека, реализовав все указанные здесь методы. Программа считывает последовательность команд и в зависимости от команды выполняет ту или иную операцию. После выполнения каждой команды программа должна вывести одну строчку. Возможные команды для программы:
- push_front
- Добавить (положить) в начало дека новый элемент. Программа должна вывести
ok
. - push_back
- Добавить (положить) в конец дека новый элемент. Программа должна вывести
ok
. - pop_front
- Извлечь из дека первый элемент. Программа должна вывести его значение.
- pop_back
- Извлечь из дека последний элемент. Программа должна вывести его значение.
- front
- Узнать значение первого элемента (не удаляя его). Программа должна вывести его значение.
- back
- Узнать значение последнего элемента (не удаляя его). Программа должна вывести его значение.
- size
- Вывести количество элементов в деке.
- clear
- Очистить дек (удалить из него все элементы) и вывести
ok
. - exit
- Программа должна вывести
bye
и завершить работу.
Гарантируется, что количество элементов в деке в любой момент не превосходит 100. Все операции pop_front
, pop_back
, front
, back
всегда корректны.
Входные данные
Вводятся команды управления деком, по одной на строке.
Выходные данные
Требуется вывести протокол работы дека, по одному сообщению на строке.
Примеры
Входные данные
push_back 1 back exit
Выходные данные
ok 1 bye
Входные данные
size push_back 1 size push_back 2 size push_front 3 size exit
Выходные данные
0 ok 1 ok 2 ok 3 bye
Сдать: для сдачи задач необходимо войти в систему