Skip to main content.

Front

Je to ďalšia významná abstraktná dátová štruktúra s obmedzeným prístupom k postupnosti prvkom. Na rozdiel od zásobníka však aplikácia používajúca front spracováva dáta v poradí, v akom prišli (odtiaľ ten názov). Front má označenie FIFO – „First In, First Out“, teda prvky, ktoré prvé prišli, aj prvé odídu.
Vyžadujeme tiež len dve operácie: insert (vlož prvok do frontu - enqueue) a remove (vyber prvok z frontu - dequeue).
Front sa používa keď sa rôzne objekty ukladajú po poradí, aby sa dali spracovávať neskôr.

^ TOP

Vizualizácia

Front1 Front2

^ TOP

Implementácia

  var queue:array[1..Max] of integer;
      head, tail:integer;
  
  procedure put(v:integer); // pridaj
  begin
    queue[tail]:=v;inc(tail);
    if tail > Max then
      tail:=1;
  end;
  
  function get:integer;  // vyber
  begin
    get:=queue[head]; inc(head);
    if head > Max then
      head:=1;
  end;
  
  procedure queue_init;  //vyprázdni
  begin
    head:=1; tail:=1;
  end;
  
  function queue_empty:boolean;  //či je prázdny
  begin
    queue_empty:=head=tail;
  end;
      

^ TOP