*Implementacija s povezanim seznamom

Glede na to, da prvih sedem funkcij vsebuje tako malo kode, se upravičeno vprašamo, ali jih sploh potrebujemo. Vendar pa te funkcije skrijejo podrobnosti predstavitve povezanega seznama. Uporabniku modula povezaniSeznam.py tako ne bo treba vedeti, ali drugi element vozlišča hrani indeks naslednika, indeks predhodnika ali morda kaj tretjega. Če bi se slučajno odločili za drugačno predstavitev seznama, bi zamenjali samo vsebino funkcij, uporabljali pa bi jih še vedno na enak način kot zdaj.

Dodajanje in vstavljanje elementov

Preidimo na dodajanje in vstavljanje elementov. Če želimo v povezani seznam dodati ali vstaviti nov element, moramo v tabelo vozlišč dodati novo vozlišče s podanim elementom. Zaradi enostavnosti bomo vozlišče vedno dodali na konec tabele vozlišč ne glede na to, kam element, ki ga vstavljamo, sodi v zaporedju.

Posvetimo se najprej dodajanju elementov na konec povezanega seznama. Spodnja slika prikazuje dodajanje elementa 'R' na konec seznama, ki predstavlja zaporedje <'M', 'I', 'Z', 'A'>:


Vidimo, da ni dovolj, da vozlišče zgolj dodamo na konec tabele vozlišč. Moramo ga še ustrezno povezati v verigo: dodano vozlišče postane naslednik dosedanjega končnega vozlišča, hkrati pa sámo postane novo končno vozlišče seznama. Dosedanje končno vozlišče postane predhodnik dodanega vozlišča:

Izvedi Počisti



V razmislek