03_seznamy_realizace
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
Seznamy - realizace
Popis problému:
Máme dlouhatánskou, které chybí část, kterou tedy chceme přidat.
Ve větě chybí slovo „větu“
Máme dlouhatánskou větu, které chybí část, kterou tedy chceme přidat.
Jaký datový typ bude použit pro uložení věty?
Jak budeme realizovat přidání chybějícího textu?
Bude stačit paměť?
Ve větě se nám vyskytlo „netechnické“ slovo – potřebujeme jeho část vynechat.
Máme dlouhatánskou větu, které chybí část, kterou tedy chceme přidat.
Jaký datový typ zvolíme pro uložení tohoto typu dat? (Text, Věta, Slovo)
Jak budeme realizovat vyjmutí části textu?
Jak bude vypadat hospodaření s pamětí?
Základní datové struktury – charakterizují organizaci dat v paměti
- lineární seznam
- strom
Seznam (kontejner)
- skládá se z prvků (Node, uzel, element, ...)
- každý prvek má dvě části – datovou a část odkazující na další prvek
Ukázka realizace seznamu v C:
struct TLinSeznam {
double iData; // hodnota node, obecně jakýkoli počet, jakýkoli typ
struct TLinSeznam *iNext; // jedno i obousměrný
struct TLinSeznam *iPrev; // obousměrný
}
TLinSeznam a = {0,NULL,NULL},...,d={0,NULL,NULL}, *Prvni=NULL;
Prvni = &a; // pouze v této funkci a funkcích volaných
// jinak proměnné zanikají
a.iNext = &b;
b.iNext = &c;
c.iNext = &d;
Ukázka realizace stromu v C:
struct TStrom {
double iData; // hodnota uzlu, obecně jakýkoli počet, jakýkoli typ
struct TStrom *iLeft; // jedna větev
struct TStrom *iRight; // druhá větev
}
TStrom a = {0,NULL,NULL},..., g={0,NULL,NULL},*Vrchol=NULL;
Vrchol = &a; // pouze v této funkci a funkcích volaných