• 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 — óáðàòü èç î÷åðåäè), ïðè ýòîì âûáðàííûé ýëåìåíò èç î÷åðåäè óäàëÿåòñÿ.
Ñóùåñòâóåò íåñêîëüêî ñïîñîáîâ ðåàëèçàöèè î÷åðåäè â ÿçûêàõ ïðîãðàììèðîâàíèÿ.