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.

   Head = Prvek 

Odebrání prvku ze začátku 

Vstup – seznam 

Pokud je seznam prázdný 

   oznam chybu (hodně implementací neřeší, nutno odebírat po  

kontrole prázdnosti Empty)  

jinak 

   pom = Head 

   Head = Next(Head) 

   SetNext(pom, NULL) // kvuli bezpeci pri vrácení; některé  

// algoritmy vyžadují pro zrušení 

   zruš pom/ vrať pom – podle konkrétní definice (existují obě  

verze) 

Bude fungovat i pro poslední prvek? 

Přidání prvku na danou pozici 

vstup: seznam, prvek, index 

pokud je seznam prázdný nebo je index mimo počet prvků seznamu 

   ... 

jinak 

   Pom = Head 

   Dokud Pom neni prvek za který chceme vkládat 

Pom = Next(Pom) 

   SetNext(Prvek,Next(Pom)) 

   SetNext(Pom,Prvek) 

Odebrání prvku z dané pozice pozici 

vstup: seznam, index 

pokud je seznam prázdný nebo je index mimo počet prvků seznamu 

   ... 

jinak 

   Pom = Head 

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

Pom = Next(Pom) 

   Ruseny = Next(Pom) 

   SetNext(Pom,Next(Ruseny)) 

   SetNext(pom, NULL) // kvuli bezpeci pri vrácení;  

// některé algoritmy vyžadují pro zrušení 

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

verze) 

Poslední prvek v seznamu? 

Obousměrný seznam 

Procházení 

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) 

// procházení opačným směrem 

Aktuální_prvek = Tail 

Dokud je Aktuální_prvek platný 

   zpracuj data/proveď činnost 

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

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