Дек з захистом від помилок
Реалізуйте структуру даних "дек". Напишіть програму, яка містить опис дека і моделює роботу дека, реалізувавши усі вказані тут методи. Програма зчитує послідовність команд і у залежності від команди виконує ту чи іншу операцію. Після виконання кожної команди програма повинна вивести один рдок. Можливі команди для програми:
push_front
Додати (покласти) у початок дека новий елемент. Програма повинна вивести ok.
push_back
Додати (покласти) у кінець дека новий елемент. Програма повинна вивести ok.
pop_front
Дістати з дека перший елемент. Програма повинна вивести його значення.
pop_back
Дістати з дека останній елемент. Програма повинна вивести його значення.
front
Взнати значення першого елемента (не видаляючи його). Програма повинна вивести його значення.
back
Взнати значення останнього елемента (не видаляючи йоего). Програма повинна вивести його значення.
size
Вивести кількість елементів у декі.
clear
Очистити дек (видалити з нього усі елементи) і вивести ok.
exit
Програма повинна вивести bye і завершити роботу.
Гарантується, що кількість елементів у декі у довільний момент не перевищує 100. Перед виконанням операцій pop_front, pop_back, front, back програма повинна перевіряти, чи міститься у декі хоча б один елемент. Якщо у вхідних даних зустрічається операція pop_front, pop_back, front, back, і при цьому дек порожній, то програма повинна замість числового значення вивести рядок error.
// Java OOP class MyDeque // from problem 6128 Simple deque { protected LinkedList<Integer> v; ... } class ErrorProtectedDeque extends MyDeque { final static int ERROR = -2000000000; public int pop_front(); // in the cases of error, return ERROR public int pop_back(); // in the cases of error, return ERROR public int front(); // in the cases of error, return ERROR public int back(); // in the cases of error, return ERROR }
Вхідні дані
Кожний рядок містить одну команду.
Вихідні дані
Для кожної команди виведіть в окремому рядку відповідний результат.