Очередью называется динамическая структура данных, добавление компоненты в которую производится в один конец, а выборка осуществляется с другого конца. Очередь работает по принципу FIFO (First-In, First-Out) – «Поступивший первым, обслуживается первым».
Пример. Составить программу, которая формирует очередь, добавляет в нее произвольное количество компонент, а затем читает все компоненты.
Program QUEUE;
uses Crt;
type
Alfa = String[10];
PComp = ^Comp;
Comp = record
sD: Alfa;
pNext: PComp;
end;
var
pBegin, pEnd: PComp;
sC: Alfa;
Procedure CreateQueue(var pBegin,pEnd: PComp; var
sC: Alfa);
begin
New(pBegin);
pBegin^.pNext:= NIL;
pBegin^.sD:= sC;
pEnd:= pBegin;
end;
Procedure AddQueue(var pEnd: PComp; var sC:
Alfa);
var pAux: PComp;
begin
New(pAux);
pAux^.pNext:= NIL;
pEnd^.pNext:= pAux;
pEnd:= pAux;
pEnd^.sD:= sC;
end;
Procedure DelQueue(var pBegin: PComp; var sC:
Alfa);
begin
sC:= pBegin^.sD;
pBegin:= pBegin^.pNext;
end;
begin
Clrscr;
writeln( ВВЕДИ СТРОКУ );
readln(sC);
CreateQueue(pBegin, pEnd, sC);
repeat
writeln( ВВЕДИ СТРОКУ );
readln(sC);
AddQueue(pEnd, sC);
until sC = 'END';