*Implementacija s povezanim seznamom

Implementirajmo nekaj osnovnih operacij za seznam. Vse operacije bomo zapisali kot funkcije v modul povezaniSeznam.py, da jih bomo lahko uporabljali tudi v drugih pythonovih programih. Napisali bomo te funkcije:

  • Ustvari(): Ustvari prazen povezani seznam.
  • SteviloElementov(povSeznam): Vrne število elementov (vozlišč) v podanem povezanem seznamu.
  • IndeksZacetnega(povSeznam): Vrne indeks začetnega vozlišča povezanega seznama.
  • IndeksNaslednika(povSeznam, indeks): Vrne indeks naslednika vozlišča na podanem indeksu.
  • IndeksKoncnega(povSeznam): Vrne indeks končnega vozlišča povezanega seznama.
  • IndeksPredhodnika(povSeznam, indeks): Vrne indeks predhodnika vozlišča na podanem indeksu.
  • Element(povSeznam, indeks): Vrne element vozlišča na podanem indeksu.
  • DodajNaKonec(povSeznam, element): Doda vozlišče s podanim elementom na konec seznama.
  • Vstavi(povSeznam, indeks, element): Ustvari novo vozlišče s podanim elementom in ga v seznam poveže tako, da bo vozlišče na podanem indeksu njegov naslednik.
  • DodajNaZacetek(povSeznam, element): Doda vozlišče s podanim elementom na začetek seznama.
  • Izloci(povSeznam, indeks): Iz seznama izloči vozlišče na podanem indeksu.
  • IzlociZacetnega(povSeznam): Iz seznama izloči začetno vozlišče.
  • IzlociKoncnega(povSeznam): Iz seznama izloči končno vozlišče.

Te funkcije nam omogočajo, da se sprehajamo po elementih povezanega seznama ter da elemente v seznam dodajamo in iz njega izločamo (odstranjujemo) na poljubnih mestih. Naj opozorimo, da funkcije delujejo z indeksi vozlišč v tabeli vozlišč, ne s položaji elementov v zaporedju.


Zapišimo prve štiri funkcije. Prazen povezani seznam vsebuje samo glavo brez predhodnikov in naslednikov, torej samo vozlišče [0, 0, 0]. Število elementov povezanega seznama je zapisano v prvem, indeks začetnega vozlišča pa v drugem elementu glave. Indeks naslednika vozlišča je zapisan v njegovem drugem elementu. Funkcije torej sprogramiramo takole:

Izvedi Počisti



Vaja