Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
14.
Очередь структура данных с дисциплиной доступа к элементам первый пришел, первый вышел(FIFO). Добавление элемента возможно лишь в конец очереди , выборка только из начала очереди. При этом выбранный элемент из очереди удаляется.
Обозначим очередь простым перечислением её элементов:
Q = (t1, t2, …, tn)
Логическое описание
Логическое описание представляет очередь как последовательность элементов типа T, возможно, пустую. С помощью формул Бэкуса очередь можно определить следующим образом:
тип Очередь = (Пусто | НепустаяОчередь)
тип НепустаяОчередь = (начало: T; продолжение: Очередь)
Перечисленные операции для любой очереди имеют следующие свойства:
ОчередьПуста(Создание()) = истина - создается пустая очередь;
ОчередьПуста(Включение(t, Q)) = ложь - если в очередь включается элемент, результирующая очередь не пуста;
Первый(Включение(t, Создание()) = t - первым элементом очереди с единственным, включенным в созданную пустую очередь, будет этот элемент;
ОчередьПуста(Извлечение(Включение(t, Создание())) = истина
- результатом извлечения элемента из очереди с единственным, включенным в созданную пустую очередь, будет пустая очередь;
Физическое представление
Очередь описывается дескриптором, который может содержать поля: имя очереди, адреса верхней и нижней границ области памяти, выделенной для очереди, указатели на начало и конец.
Как и для стеков, для очередей существуют два основных способа реализации. Первый способ представляет очередь в виде массива (вектора), второй в виде связного списка.
Существует несколько способов реализации очереди в ЯП:
Очередь в программировании используется, когда нужно совершить действия в порядке их поступления, выполнить их последовательно.