Jednosměrně vázaný seznam



Napište program pracující s jednosměrně vázaným seznamem (základem seznamu je struktura, která má datovou část a ukazatel na prvek stejného typu (strukturu). Tento ukazatel ukazuje na následující prvek, nebo nabývá hodnotu NULL je-li posledním prvkem.) V programu (nejlépe ve funkci) vytvořte pěti prvkový lineární seznam, hodnoty jehož prvků budou indexy pořadí v seznamu. Napište funkci, která má jeden parametr (počátek seznamu) a vytiskne indexy všech prvků v seznamu. Co je to lineárně vázaný seznam? Nezapomeňte, že naalokované prvky musí být odalokovány.



Vytvoření seznamu – ve funkci, dynamicky (pomocí alokací)

Tisk seznamu – ve funkci

Zrušení seznamu – ve funkci (odalokování)





Pro inspiraci jedna z možných „koster“ programu

struct LinSeznam {
// vlastní data
// ukazatel na další prvek LinSeznam
};

int Vytvor(LinSeznam ** UkNaPrvni, int počet)
{
// vytvorte pocet prvku LinSeznamu
// jako hodnoty naplňte číslem vytvoření 1 až počet
return 1; // uspech
}

void TiskniSeznam(LinSeznam *UkNaPrvni)
{
// vytisknout seznam
}



int ZrusSeznam(LinSeznam **UkNaPrvni)
{
// zrusi seznam
int pocet = 0;
return pocet ; // vrati pocet zrusenych
}

int main(int argc, char* argv[])
{
LinSeznam *Prvni;
Vytvor( ,5); // pokusime se vytvořit pětiprvkový seznam
TiskniSeznam( ); // předáme seznam a vytisknemu
ZrusSeznam( ); // předáme seznam a zrušíme jeho prvky
TiskniSeznam( ); // předáme seznam a vytisknemu
return 0;
}





poslední úpravy 2007-10-29