Seznamsko povezan seznam proti dvojno povezan seznam
Povezani seznam je linearna struktura podatkov, ki se uporablja za shranjevanje zbirke podatkov. Povezani seznam dodeli spomin svojim elementom ločeno v svojem bloku pomnilnika, celotna struktura pa je pridobljena s povezovanjem teh elementov kot povezav v verigi. Posamezno povezan seznam je sestavljen iz zaporedja vozlišč in vsako vozlišče ima sklic na naslednje vozlišče v zaporedju. Dvojno povezan seznam vsebuje zaporedje vozlišč, v katerem vsako vozlišče vsebuje sklic na naslednje vozlišče kot tudi na prejšnje vozlišče.
Povezani seznam
Vsak element na posamezno povezanem seznamu ima dve polji, kot je prikazano na sliki 1. Podatkovno polje vsebuje dejanske shranjene podatke in naslednje polje vsebuje sklic na naslednji element v verigi. Prvi element povezanega seznama je shranjen kot glava povezanega seznama.
Slika 2 prikazuje enotno povezan seznam s tremi elementi. Vsak element shrani svoje podatke in vse elemente, razen zadnjega shrani referenco na naslednji element. Zadnji element ima ničelno vrednost v naslednjem polju. Do katerega koli elementa na seznamu lahko dostopate tako, da začnete na čelu in sledite naslednjem kazalcu, dokler ne izpolnite želenega elementa.
Dvojno povezan seznam
Vsak element dvojno povezanega seznama ima tri polja, kot je prikazano na sliki 3. Podobno kot enotno povezan seznam vsebuje podatkovno polje dejansko shranjene podatke in naslednje polje vsebuje sklic na naslednji element v verigi. Poleg tega prejšnje polje vsebuje sklic na prejšnji element v verigi. Prvi element povezanega seznama je shranjen kot glava povezanega seznama.
Slika 4 prikazuje dvojno povezan seznam s tremi elementi. Vsi vmesni elementi hranijo sklice na prvi in prejšnji element. Zadnji element na seznamu vsebuje ničelno vrednost v naslednjem polju, prvi element na seznamu pa ima ničelno vrednost v prejšnjem polju. Dvojno povezan seznam se lahko premika naprej z naslednjimi referencami v vsakem elementu in podobno je mogoče premikati nazaj z uporabo prejšnjih referenc v vsakem elementu.
Kakšna je razlika med posamezno povezanim seznamom in dvojno povezanim seznamom?
Vsak element na posamezno povezanem seznamu vsebuje sklic na naslednji element na seznamu, medtem ko vsak element na dvojno povezanem seznamu vsebuje sklice na naslednji element kot tudi prejšnji element na seznamu. Dvojno povezani seznami zahtevajo več prostora za vsak element na seznamu, elementarne operacije, kot sta vstavljanje in brisanje, pa so bolj zapletene, saj morajo obravnavati dve referenci. Toda dvojno seznami povezav omogočajo lažjo manipulacijo, saj omogoča premik seznama v smeri naprej in nazaj.