Navrhněte složený datový typ (struct) jednosměrného spojového seznamu, ve kterém budeme ukládat celá čísla.
Navrhněte vhodné funkce (dekompozice) knihovny spojového senznamu a programu, který načte celá čísla ze stdin a uloží je do seznamu (zásobník a/nebo fronta).
Definujte chování programu, pokud na vstupu nebude celé číslo.
Implementujete funkce pro práci se spojovým seznamem. Uvažujte, že budou tvořit knihovnu, ale pro jednoduchost budeme nejdříve implementovat v jediném souboru.
Funkce otestujte programem, který vypíše vstupní čísla na stdout.
Program rozšiřte o funkce, které vypíši pouze lichá a pouze sudá čísla a to v pořadí, v jakém byla načtena.
Knihovní funkce práce se spojovým seznamem rozšiřte o implementace fronty.
Upravte datovou strukturu a implementaci funkcí.
Zvažte rozšíření strukturu o informaci, zdali spojový seznam implementujete zásobník nebo frontu, například ukazatel na funkci, který bude nastaven na push_front() nebo push_back() při inicializaci struktury spojového seznamu jako zásobníku nebo fronty, např. create_stack() a create_queue().