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