Очередь с защитой от ошибок
Реализуйте структуру данных "очередь". Напишите программу, содержащую описание очереди и моделирующую работу очереди, реализовав все указанные здесь методы. Программа считывает последовательность команд и в зависимости от команды выполняет ту или иную операцию. После выполнения каждой команды программа должна вывести одну строчку. Возможные команды для программы:
- push n
- Добавить в очередь число n (значение n задается после команды). Программа должна вывести
ok. - pop
- Удалить из очереди первый элемент. Программа должна вывести его значение.
- front
- Программа должна вывести значение первого элемента, не удаляя его из очереди.
- size
- Программа должна вывести количество элементов в очереди.
- clear
- Программа должна очистить очередь и вывести
ok. - exit
- Программа должна вывести
byeи завершить работу.
Перед исполнением операций front и pop программа должна проверять, содержится ли в очереди хотя бы один элемент. Если во входных данных встречается операция front или pop, и при этом очередь пуста, то программа должна вместо числового значения вывести строку error.
Запрещается использовать стандартный стек, а также стандартные динамические массивы с функциями типа append/push_back. Пишите на массиве фиксированной длины, с индексами-указателями.
Вводятся команды управления очередью, по одной на строке. Количество команд не превосходит миллиона, в каждый момент времени в очереди не более 200 элементов.
Требуется вывести протокол работы очереди, по одному сообщению на строке
push 1 front exit
ok 1 bye
size push 1 size push 2 size push 3 size exit
0 ok 1 ok 2 ok 3 bye