Очередь

Очередь — структура данных, как и стек представляющая собой последовательность элементов. Добавление элементов происходит с одной стороны последовательности, удаление — с другой. Т. е. работает по принципу FIFO (First-In, First-Out).

Содержание




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

Над очередью определены две операции: занесение элемента в очередь и извлечение элемента из очереди.

Операции над очередью

В очереди, в силу ее определения, доступны две позиции: ее конец, куда заносятся новые элементы, и ее начало, откуда извлекаются элементы. Поэтому для работы с очередью необходимо описать две переменные:

Очередьгде BeginO – соответствует началу очереди и будет использоваться для удаления элемента из очереди, EndO – соответствует концу очереди и будет использоваться для добавления новых элементов в очередь.

Занесение элемента в очередь

Занесение элемента в очередь реализуется как добавлению элемента в конец списка. Рассмотрите процедуру, описанную ниже.

Извлечение элемента из очереди

Процедура извлечения элемента из очереди аналогична удалению элемента из начала списка. Поскольку извлечение элемента из пустой очереди осуществить нельзя, опишем логическую функцию, проверяющую, есть ли элементы в очереди.

Рассмотрим работу с очередью на примере:

За один просмотр файла действительных чисел напечатать элементы файла в следующем порядке: сначала – все числа, меньшие а, затем – все числа из отрезка [а, b], и наконец – все остальные числа, сохраняя исходный порядок в каждой из этих трех групп чисел. Числа а и b задает пользователь.

Практическая часть

Заполнить массив 5х5 случайными числами. Создать очередь из элементов массива, причем чтобы начало очереди содержало среднее арифметическое элементов массива. Вывести очередь на экран.


Похожие материалы:

Оставить комментарий