Что происходит с передней и задней частью, когда очередь заполнена, и мы продолжаем ставить в очередь? - PullRequest
0 голосов
/ 30 октября 2019

Что происходит с очередью, когда она заполнена, за исключением первого элемента из-за операции удаления из очереди?

Мой учитель привел мне такой пример: рассмотрим стек максимального размера 4. Показать массив очереди, передние и задние переменные, после выполнения следующих операций: enqueue(5), enqueue(10), dequeue(), enqueue(15), enqueue(20), enqueue(25), enqueue(30), dequeue(), dequeue().

Он дал ответ:

[25, X, X, 20], спереди = 3 и сзади = 1.

Я в порядке с первыми 6 операциями, но с тех пор я застрял. Вот моя работа на данный момент:

Initial queue:[X, X, X, X] with front = 0; rear = -1

enqueue(5): [5, X, X, X] with front = 0; rear = 0

enqueue(10): [5, 10, X, X] with front = 0; rear = 1

dequeue(): [X, 10, X, X] with front = 1; rear = 1

enqueue(15): [X, 10, 15, X] with front = 1; rear = 2

enqueue(20): [X, 10, 15, 20] with front = 1; rear = 3

Что происходит с enqueue(25) тогда? Единственный способ сделать возможным ответ, который он дал, это поставить его на первое место, сделав [25, 10, 15, 20], но я действительно думал, что если очередь переполнена, то мы либо отрицаем операцию, либо расширяем размер массива (чтоон не позволяет).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...