Реалізуйте структуру даних "дек". Напишіть програму, яка містить опис дека і моделює роботу дека, реалізувавши усі вказані тут методи. Програма зчитує послідовність команд і у залежності від команди виконує ту чи іншу операцію. Після виконання кожної команди програма повинна вивести один рядок. Можливі команди для програми:
push_front - Додати (покласти) у початок дека новий елемент. Програма повинна вивести ok.
push_back - Додати (покласти) у кінець дека новий елемент. Програма повинна вивести ok.
pop_front - Дістати з дека перший елемент. Програма повинна вивести його значення.
pop_back - Дістати з дека останній елемент. Програма повинна вивести його значення.
front - Взнати значення першого елемента (не видаляючи його). Програма повинна вивести його значення.
back - Взнати значення останнього елемента (не видаляючи його). Програма повинна вивести його значення.
size - Вивести кількість елементів у декі.
clear - Очистити дек (видалити з нього усі елементи) і вивести ok.
exit - Програма повинна вивести bye і завершити роботу.
Гарантується, що кількість елементів у декі у довільний момент не перевищує 100. Перед виконанням операцій popfront, popback, front, back програма повинна перевіряти, чи міститься у декі хоча б один елемент. Якщо у вхідних даних зустрічається операція popfront, popback, front, back, і при цьому дек порожній, то програма повинна замість числового значення вивести рядок error.
Пояснення: Кількість елементів у всіх структурах даних не перевищує 10000, якщо це не вказано окремо.
Формат вхідних даних
Описані в умові. Див. також приклад вхідних даних.
Формат вихідних даних
Описані в умові. Див. також приклад вихідних даних.
Приклад вхідних даних
front
back
pop_back
pop_front
exit
Приклад вихідних даних
error
error
error
error
bye
Приклад вхідних даних
push_back 1
back
exit
Приклад вихідних даних
ok
1
bye
Коментарі