Âêëþ÷èòü â ñòåê

• procedure push(var stak:massiv; stksiz:integer; var stktop:integer; data:integer; var pr:boolean);

• begin

• {vkl}

• if stktop >= stksiz then pr:=false

• else

• begin

• stktop:=stktop+1;

• stak[stktop]:= data;

• pr:=true

• end;

• end;

 

Èñêëþ÷èòü èç ñòåêà

• procedure pop(var stak:massiv; stksiz:integer; var stktop:integer;var data:integer; var pr:boolean);

• begin

• {iskl}

• if stktop = 0 then pr:=false

• else

• begin

• data:= stak[stktop];

• stktop:=stktop+1;

• pr:=true

• end;

• end;

Î÷åðåäü (FIFO)

 

9.3 ÀÒÄ «Î÷åðåäü»

Î́÷åðåäü — ñòðóêòóðà äàííûõ ñ äèñöèïëèíîé äîñòóïà ê ýëåìåíòàì «ïåðâûé ïðèø¸ë — ïåðâûé âûøåë» (FIFO, First In — First Out). Äîáàâëåíèå ýëåìåíòà (ïðèíÿòî îáîçíà÷àòü ñëîâîì enqueue — ïîñòàâèòü â î÷åðåäü) âîçìîæíî ëèøü â êîíåö î÷åðåäè, âûáîðêà — òîëüêî èç íà÷àëà î÷åðåäè (÷òî ïðèíÿòî íàçûâàòü ñëîâîì dequeue — óáðàòü èç î÷åðåäè), ïðè ýòîì âûáðàííûé ýëåìåíò èç î÷åðåäè óäàëÿåòñÿ.

Ñóùåñòâóåò íåñêîëüêî ñïîñîáîâ ðåàëèçàöèè î÷åðåäè â ÿçûêàõ ïðîãðàììèðîâàíèÿ.