A sor adatszerkezet, korlátozott számú beszúrás esetén
A sor beceneve a szakzsargonban FIFO (First-In-First-Out = először-be-először-ki). A szélességi bejárásnál a gráf minden csúcsa pontosan egyszer kerül a sorba, ezért egyszerűen egy olyan tömbbel dolgozhatunk, aminek mérete egyenlő a gráf csúcsainak számával.
Műveletek
- Üres: készít egy üres sort
- Üres?: megadja, hogy az adott sor üres-e
- Sorba: beszúr egy elemet a sor végére
- Sorból: kiveszi és visszaadja a sor első elemét
Megvalósítás
A sor elemeit egy tömbben tároljuk. Két mutatóra van szükségünk, az egyik a következő beszúrás helyét tárolja, a másik pedig a sor aktuális első elemére mutat.
Példa
Program
program sorkezeles;
const MAX = 100;
type Telem = integer;
var sor : array[1..MAX] of Telem;
sorBE, sorKI : integer;
procedure ures;
begin
sorBE := 1;
sorKI := 1;
end;
procedure sorba(e : Telem);
begin
sor[sorBE] := e;
sorBE := sorBE + 1;
end;
function ures_e:boolean;
begin
ures_e := (sorBE = sorKI);
end;
function sorbol:Telem;
begin
sorbol := sor[sorKI];
sorKI := sorKI + 1;
end;
begin
ures;
sorba(4);
sorba(2);
sorba(137);
writeln(sorbol());
end.