Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Очередь ~ структура данных с дисциплиной доступа к элементам первый пришел первый вышелFIFO

Работа добавлена на сайт samzan.net:


14.

Очередь – структура данных с дисциплиной доступа к элементам первый пришел, первый вышел(FIFO). Добавление элемента возможно лишь в конец очереди , выборка только из начала очереди. При этом выбранный элемент из очереди удаляется.

Обозначим очередь простым перечислением её элементов:

Q = (t1, t2, …, tn)

Логическое описание

Логическое описание представляет очередь как последовательность элементов типа T, возможно, пустую. С помощью формул Бэкуса очередь можно определить следующим образом:

тип Очередь = (Пусто | НепустаяОчередь)

тип НепустаяОчередь = (начало: T; продолжение: Очередь)

Перечисленные операции для любой очереди имеют следующие свойства:

ОчередьПуста(Создание()) = истина - создается пустая очередь;

ОчередьПуста(Включение(t, Q)) = ложь - если в очередь включается элемент, результирующая очередь не пуста;

Первый(Включение(t, Создание()) = t - первым элементом очереди с единственным, включенным в созданную пустую очередь, будет этот элемент;

ОчередьПуста(Извлечение(Включение(t, Создание())) = истина

- результатом извлечения элемента из очереди с единственным, включенным в созданную пустую очередь, будет пустая очередь;

Физическое представление

Очередь описывается дескриптором, который может содержать поля: имя очереди, адреса верхней и нижней границ области памяти, выделенной для очереди, указатели на начало и конец.

Как и для стеков, для очередей существуют два основных способа реализации. Первый способ представляет очередь в виде массива (вектора), второй – в виде связного списка.

Существует несколько способов реализации очереди в ЯП:

  1.  Очередь в виде массива и двух целочисленных переменных start и end. Обычно start указывает на голову очереди, end на элемент, который заполнится, когда в очередь войдет новый элемент. Если значение end становится меньше 1, то мы как бы циклически обходим массив и значение переменной становится равным n. Извлечение элемента из очереди производится аналогично: после извлечения из очереди элемента q[start]  переменная start уменьшается на 1. С такими алгоритмами одна ячейка из n всегда будет оставаться пустой.
  2. Связный список. Способ основан на работе с динамической памятью. Очередь представляется в качестве линейного списка, в котором добавление/удаление элементов идет строго с соответствующих его концов.

Очередь в программировании используется, когда нужно совершить действия в порядке их поступления, выполнить их последовательно.




1. Курсовая работа- Реализация идеи конвергенции СМИ на примере российских изданий
2. Организация производства дистанции сигнализации и связи
3. Использование фотоупругого эффекта для измерения физических величин
4. Это послание направлено к объективно и справедливо мыслящим людям из числа тех кто поддался соблазну вы
5. шляхецкие вольности времен РП.html
6. ВАРИАНТ 5 Инструкция к вопросам 01 ~ За вопросом или незаконченным утверждением приведенными ниже следу
7. Основные производственные (сельскохозяйственного и несельскохозяйственного назначения) и непроизводственные фонды предприятия.html
8.  Географічне положення та склад території
9. Параньгинский муниципальный район Р
10. а права. Правовое регулирование брачносемейных отношений имеет значительную публичноправовую составляющу
11. проэрачен воздухмежду мирами духа
12. Реферат Объект исследования выявление особенностей налоговой политики Республики Беларусь определе
13. Реферат- Проектирование кулачковых механизмов
14. Пуританство
15. . Для получения статуса специальной миссии согласно Международной конвенции о специальных миссиях 1969 г
16. Финансовые аспекты деятельности Фонда социального страхования РФ
17. реферату- Африка Опис материкаРозділ- Географія Африка
18. Республіка Білорусь Republic Belrus
19. тематическим курсом типа курса химии биологии математики
20. . Генезис уголовной ответственности за фальшивомонетничество в России