V seznamu označovaném jako fronta se pracuje s uloženými daty takovým způsobem, jaký odpovídá čekání lidí ve frontě v běžném životě. Přicházející se řadí za sebe; kdo dřív přišel, bude dříve obsloužen a odejde. Do seznamu dat typu fronta jsou proto na jednom konci („příchod“) vkládány nové prvky, zatímco z druhého konce („odchod“) jsou odebírány prvky vyřazované. V anglicky psané literatuře bývá fronta označována jako FIFO (first in - first out).
Fronta se v programech používá tehdy, pokud potřebujeme dočasně odložit nějaká data a zachovat pro další zpracování jejich původní pořadí. Slouží jako základní datová struktura pro řízení průchodu do šířky. Její programová realizace polem i dynamicky je o něco komplikovanější, než tomu bylo v případě zásobníku.
Frontu můžeme naprogramovat pomocí pole, pokud známe horní odhad její maximální možné délky. Budeme přitom potřebovat dvě celočíselné proměnné, které budou udávat indexy těch prvků pole, kde je uložen první prvek fronty (tj. začátek fronty, odchod) a poslední (konec fronty, příchod). Opakovanými operacemi vkládání a vypouštění prvků se budou hodnoty obou těchto proměnných stále zvyšovat, jak se bude směrem k vyšším indexům posunovat obsazená část pole. Tak by se mohlo po čase stát, že ačkoli aktuální délka fronty nikdy nepřekročí velikost pole, nebude možné vložit do fronty další údaj, neboť poslední prvek pole bude obsazen. Na toto nebezpečí existují tři základní varianty řešení:
Kdo byste našel v nějakém z těchto programů chybu, dejte mi to vědět - můžete tak získat bonusové body (1 chyba ≈ 5 bodů). ;)