АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Работа с очередями

Читайте также:
  1. T-FACTORY HRM - управление персоналом и работами
  2. V. САМОСТОЯТЕЛЬНАЯ РАБОТА
  3. Window - работа с окнами.
  4. Аналитическая работа при выборе и обосновании стратегии развития предприятии
  5. Б) работа врачей поликлиники (амбулатории), диспансера, консультации
  6. В 72-х дневном цикле подвиг длится 8 суток, из которых 2 суток – голод, а 6 – очистительные процедуры и работа над собой. В 12-ти летнем цикле подвиг длится 1 год.
  7. В работах В. Джеймса
  8. В) профилактическая работа
  9. Виртуальная работа силы. Идеальные связи
  10. Власть и норма в работах Фуко
  11. Влияние на организм термически обработанной пищи
  12. Влияние работающего на точность изготовляемых деталей.

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

Схема работы с очередью:

 

 

Type

Ukaz = ^ Och;

Och = Record

Inf: Integer; { информационная часть }

Next: Ukaz { дополнительная часть }

end;

Var

Beg, En, Rab: Ukaz;

Value: Integer;

 

Procedure Sozd _ Och; { первоначальная организация очереди }

Begin

Read (Value);

If Value = 999

then Exit;

New (Rab);

Rab ^. Next: = Nil;

Rab ^. Inf: = Value;

Beg: = Rab;

En: = Rab;

While True do

Begin

Read (Value);

If Value = 999

then Exit;

New (Rab);

Rab ^. Next: = Nil;

Rab ^. Inf: = Value;

En ^. Next: = Rab;

En: = Rab

End

End;

 


Procedure Dobavl _ Och; { добавление элементов в очередь }

Begin

While True do

Begin

Read (Value);

If Value = 999

then Exit;

New (Rab);

Rab ^. Next: = Nil;

Rab ^. Inf: = Value;

En ^. Next: = Rab;

En: = Rab

End

End;

 

Procedure Udal_Och; { Удаление первого элемента из очереди }

Begin

Rab: = Beg;

Beg: = Beg ^. Next;

Dispose (Rab)

End;

 

Procedure Print _ Och; { Обработка (вывод) элементов очереди }

Begin

Rab: = Beg;

While Rab <>Nil do

Begin

WriteLn (Rab ^. Inf);

Rab: = Rab ^. Next

End

End;

 


1 | 2 | 3 | 4 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)