Обязательное условие — очереди
Циклическая очередь — это линейная структура данных, в которой операции выполняются на основе принципа FIFO (First In First Out), а последняя позиция соединяется обратно с первой позицией для образования круга. Он также называется кольцевым буфером .
В обычной очереди мы можем вставлять элементы, пока очередь не заполнится. Но как только очередь заполнится, мы не сможем вставить следующий элемент, даже если перед ней есть пробел.
Операции с круговой очередью:
- Front: получить передний элемент из очереди.
- Сзади: получить последний элемент из очереди.
- enQueue (значение) Эта функция используется для вставки элемента в круговую очередь. В круговой очереди новый элемент всегда вставляется в заднем положении.
- шаги:
- Проверьте, заполнена ли очередь — проверьте ((сзади == SIZE-1 && front == 0) || (сзади == front-1)).
- Если он заполнен, то дисплей Очередь заполнена. Если очередь не заполнена, проверьте, задано ли (Rear == SIZE — 1 && front! = 0) значение true = 0 и вставьте элемент.
- deQueue () Эта функция используется для удаления элемента из циклической очереди. В круговой очереди элемент всегда удаляется из передней позиции.
- шаги:
- Проверить, является ли очередь пустым, означает проверку (front == — 1).
- Если он пуст, то дисплей Очередь пуст. Если очередь не пуста, тогда шаг 3
- Проверьте, если (передний == задний), если это правда, тогда установите передний = задний = -1, иначе проверьте, если (передний = = размер-1), если это верно, тогда установите передний = 0 и верните элемент.
|
Python 3
|
Выход:
Elements in Circular Queue are: 14 22 13 -6 Deleted value = 14 Deleted value = 22 Elements in Circular Queue are: 13 -6 Elements in Circular Queue are: 13 -6 9 20 5 Queue is Full
Сложность времени: временная сложность операции enQueue (), deQueue () равна O (1), поскольку в любой из операций нет цикла.
Приложения:
- Управление памятью: неиспользуемые области памяти в случае обычных очередей могут использоваться в циклических очередях.
- Система дорожного движения: В управляемой компьютером системе дорожного движения круговые очереди используются для многократного включения светофора в соответствии с установленным временем.
- Планирование ЦП. Операционные системы часто поддерживают очередь процессов, которые готовы к выполнению или ожидают определенного события.
Эта статья предоставлена Акашем Гуптой . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.
Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.
Рекомендуемые посты:
- Очередь | Набор 1 (Введение и реализация массива)
- Круговая Очередь | Набор 2 (реализация в виде круглого связного списка)
- Реализация Deque с использованием кругового массива
- Массив реализации очереди (Simple)
- Очередь — реализация связанного списка
- Очередь приоритетов | Комплект 1 (Введение)
- Круговой массив
- Элемент большинства в круговом массиве из 0 и 1
- Максимизировать сумму последовательных разностей в круговом массиве
- Минимальные битовые изменения в двоичном круговом массиве для достижения индекса
- Минимальная абсолютная разница соседних элементов в круговой матрице
- Проверьте, можно ли отсортировать очередь в другую очередь, используя стек
- Стек и очередь в Python с использованием модуля очереди
- Сторнирование очереди с использованием другой очереди
- Реализация LRU Cache
0.00 (0%) 0 votes