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.

Řešení krajních stavů 

-   dummy nodes (sentinel nodes) prázdné prvky na začátku a na konci,  

-  jelikož jsou tyto prvky bez dat a tudíž se s nimi „nepracuje“ –> pro manipulaci existuje jediný 

stav: manipulace s prvkem uprostřed seznamu 

Realizace manipulace se seznamem pomocí: 

-  Ukazatel na první prvek (vždy) – head,  

-  ukazatel tail (většinou poslední, někdy zobecnění = některý prvek (koncová sekvence),) 

-  ukazatel actual – pomocný ukazatel 

Kde jsou uložena data/prvky (kdo je „vlastní“, dáno předpisem seznamu) 

-  předání dynamické proměnné ukazatelem a vložení do seznamu – majitelem zůstává původce 

-  předání dynamické proměnné ukazatelem a vložení do seznamu – majitelem se stane seznam 

-  předání dynamické proměnné ukazatelem a vložení kopie do seznamu – majitel seznam 

-  předání hodnoty proměnné a vložení kopie do seznamu – majitel seznam 

-   

-  má-li hodnotu, jedná se o interní uložení, jinak externí 

-  „majitel“ je zodpovědný za zrušení prvku (zvláště u předání ukazatelem) 

Práce se seznamy 

Head, Tail a Prvek jsou odkazy na prvky, se kterými se pracuje 

Procházení seznamu 

-  nejjednodušší činnost (tisk, rušení celého seznamu, prohledávání, ...) 

Pokud je seznam prázdný udělej ... a ukonči  

Aktuální_prvek = Head 

Dokud je Aktuální_prvek platný 

   zpracuj data/proveď činnost 

   Aktuální_prvek = Next(Aktuální_prvek) 

Přidání prvku na začátek  
Vstup – seznam, vkládaný Prvek 

Pokud je seznam prázdný 

   Head = Prvek 

   SetNext(Prvek, NULL)// pro jistotu. Mělo by být inicializováno. 

jinak 

   SetNext(Prvek,Head)   // bývalý první prvek bude druhý 

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