Implementační test 29.1.2020

Napište program, který implementuje frontu pomocí jednosměrného spojového seznamu (nebo alternativně dynamicky alokovaného pole). Uzly seznamu obsahují datovou položku typu textový řetězec, který je alokován v dynamické paměti a zabírá právě tolik místa, kolik je třeba.

Program zpracovává soubor na standardním vstupu v následujícím tvaru:

create 10          → vytvoří frontu o velikosti 10 textových řetězců
put ahoj           → vloží do fronty, pokud je ve frontě místo
put svete          → vloží do fronty, pokud je ve frontě místo
put jak            → vloží do fronty, pokud je ve frontě místo
put se             → vloží do fronty, pokud je ve frontě místo
get                → pokud je ve frontě nějaký prvek, odebere prvek z fronty a vytiskne ho
get                → pokud je ve frontě nějaký prvek, odebere prvek z fronty a vytiskne ho
print              → tiskne obsah fronty
delete             → smaže frontu

Příklad volání:

$ ./a.out < data.txt
= created queue of size 10
> ahoj
> svete
> jak 
> se
< ahoj
< svete
= jak se
= queue deleted

Kritéria hodnocení

Kritéria a navržené hodnocení jsou pouze orientační. Hodnotí se také celková strategie řešení problému.