Jak Začít?

Máš v počítači zápisky z přednášek
nebo jiné materiály ze školy?

Nahraj je na studentino.cz a získej
4 Kč za každý materiál
a 50 Kč za registraci!




03_seznamy_realizace

PDF
Stáhnout kompletní materiál zdarma (43.42 kB)

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.

jinak 

   Pom = Head 

   Dokud Pom neni prvek za kterým je rušený prvek  

Pom = Next(Pom) 

   Ruseny = Next(Pom) 

   SetNext(Pom,Next(Ruseny)) 

SetPrev(  

SetPrev(  

   SetNext(pom, NULL) // kvůli bezpečí při vracení; některé 

algoritmy vyžadují pro zrušení 

SetPrev(  

   zruš pom/ vrať pom – podle konkrétní definice (mohou být obě  

verze) 

Iterátory 

-  návrhový vzor pro procházení seznamu (též Cursor) 

-  oddělení implementace od přímého použití (uživatel používá seznam prostřednictvím funkcí, 

které pracují s iterátorem) 

-  slouží k procházení kontejneru (např. procházení stromu není pro běžného uživatele 

jednoduché – jak určit pořadí?) 

-  vytváří jednotné rozhraní pro různé implementace (seznam i strom mohou být díky 

společnému interface používány stejným způsobem) 

-  díky pomocným proměnným může zajistit rychlejší práci (např. bude-li si pamatovat svou 

polohu v lineárním seznamu, nemusí při vyhledání pozice prvku vždy začínat od počátku) 

-   

-  spojeny s příkazem foreach, kdy postupně prochází seznam a vrací jeho prvky (begin,end) 

-  realizuje například: nastavení na začátek, nastavení na/za konec; zjištění zda je seznam 

prázdný; zjištění zda existuje další prvek; posun na další prvek; možnost přístupu k prvku 

-  při manipulaci s kontejnerem (zvláště vypouštění prvků) je nutné o tom iterátor informovat 

(může mít pomocné informace, které je nutné aktualizovat – první a poslední prvek, počet 
prvků, aktuální prvek  ...) 

Poznámky:  

-  cyklická fronta/buffer/vyrovnávací buffer 

-  Realizace seznamu pomocí pole  

Témata, do kterých materiál patří