#data-structures #circular-queue
#структуры данных #циклическая очередь
Вопрос:
Я пытаюсь создать циклическую очередь и сталкиваюсь с этой проблемой.
Как вы видите, мой ответ неверен. Я все еще не понимаю, почему это так, поэтому давайте пройдемся по всему еще раз.
- Создайте циклическую очередь размером 2
- Очередь 8, текущая очередь: 8
- Очередь 8, текущая очередь: 8, 8
- Фронт: 8 (никаких изменений в очереди)
- Очередь 4, текущая очередь: 4, 8
- Удаление из очереди, текущая очередь: 8
- Очередь 1, текущая очередь: 8, 1
- Очередь 1, текущая очередь: 1, 1
- Rear: 1 (никаких изменений в очереди)
- Пусто: false (никаких изменений в очереди)
- Фронт: 1 (никаких изменений в очереди)
- Удаление из очереди, текущая очередь: 1
После моего анализа последняя Front
операция должна возвращать 1 в качестве очереди 1, 1
. Однако вместо этого ответ равен 8. Я что-то пропустил? Пожалуйста, объясните это для меня.
Ответ №1:
Понял это. Перед постановкой в очередь необходимо проверить, заполнена ли очередь. Однако я этого не сделал, поскольку думал, что циклическая очередь — это форма бесконечных DS, подобных стеку выпадения, поэтому мой ответ неверен.