очередь с защитой от ошибок
Очередь с защитой от ошибок на языке питон и с++ Реализуйте структуру данных "очередь". Напишите программу, содержащую описание очереди и моделирующую работу очереди, реализовав все указанные здесь методы. Программа считывает последовательность команд и в зависимости от команды выполняет ту или иную операцию. После выполнения каждой команды программа должна вывести одну строчку. Возможные команды для программы:
push n — добавить в очередь число n (значение n задаётся после команды). Программа должна вывести ok. pop — удалить из очереди первый элемент. Программа должна вывести его значение. front — программа должна вывести значение первого элемента, не удаляя его из очереди. size — программа должна вывести количество элементов в очереди. clear — программа должна очистить очередь и вывести ok. exit — программа должна вывести bye и завершить работу. Перед исполнением операций front и pop программа должна проверять, содержится ли в очереди хотя бы один элемент. Если во входных данных встречается операция front или pop, и при этом очередь пуста, то программа должна вместо числового значения вывести строку error.
Входные данные
Вводятся команды управления очередью, по одной команде в строке. Среди них обязательно присутствует команда exit.
Выходные данные
Требуется вывести протокол работы очереди, по одному сообщению в строке.
Примеры Ввод 1 push 1 front exit Вывод ok 1 bye Ввод 2 size push 1 size push 2 size push 3 size exit Вывод 0 ok 1 ok 2 ok 3 bye
Ответы (1 шт):
Есть прекрасный англоязычный сайт https://www.geeksforgeeks.org/queue-set-1introduction-and-array-implementation/
Тут можно посмотреть реализацию самой абстракции на С++
Также есть прекрасное объяснение на вики конспектах университета ИТМО, если вы испытываете проблемы с английским https://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D1%87%D0%B5%D1%80%D0%B5%D0%B4%D1%8C
Более того для изучения таких базовых структур данных как очередь могу посоветовать книгу Кормена Томаса "Алгоритмы. Построение и анализ" Там материал по вашей теме расписано очень детально и глубоко.