Zoznam jednotlivo prepojených verzií vs zoznam dvojitých prepojení
Prepojený zoznam je lineárna dátová štruktúra, ktorá sa používa na ukladanie kolekcie údajov. Prepojený zoznam prideľuje pamäť svojim prvkom osobitne vo svojom vlastnom bloku pamäte a celková štruktúra sa získa spojením týchto prvkov ako odkazov v reťazci. Jediný spojený zoznam sa skladá zo sekvencie uzlov a každý uzol má odkaz na nasledujúci uzol v sekvencii. Dvojnásobne prepojený zoznam obsahuje postupnosť uzlov, v ktorých každý uzol obsahuje odkaz na nasledujúci uzol, ako aj na predchádzajúci uzol..
Zoznam jednotlivo prepojených položiek
Každý prvok v jednotlivo prepojenom zozname má dve polia, ako je znázornené na obrázku 1. Dátové pole obsahuje skutočné uložené údaje a nasledujúce pole obsahuje odkaz na ďalší prvok v reťazci. Prvý prvok prepojeného zoznamu je uložený ako vedúci prepojeného zoznamu.
Obrázok 2 zobrazuje jednotlivo spojený zoznam s tromi prvkami. Každý prvok ukladá svoje údaje a všetky prvky okrem posledného ukladajú odkaz na nasledujúci prvok. Posledný prvok obsahuje vo svojom nasledujúcom poli nulovú hodnotu. Prístup k ľubovoľnému prvku v zozname je možný tak, že začnete na hlave a sledujete nasledujúci ukazovateľ, kým nedosiahnete požadovaný prvok.
Zoznam dvojnásobne prepojených
Každý prvok v dvojnásobne prepojenom zozname má tri polia, ako je znázornené na obrázku 3. Podobne ako v prípade jednotlivo prepojeného zoznamu, dátové pole obsahuje skutočné uložené údaje a nasledujúce pole obsahuje odkaz na ďalší prvok v reťazci. Predchádzajúce pole navyše obsahuje odkaz na predchádzajúci prvok v reťazci. Prvý prvok prepojeného zoznamu je uložený ako vedúci prepojeného zoznamu.
Obrázok 4 zobrazuje dvojnásobne prepojený zoznam s tromi prvkami. Všetky prechodné prvky ukladajú odkazy na prvý a predchádzajúce prvky. Posledný prvok v zozname obsahuje nulovú hodnotu vo svojom nasledujúcom poli a prvý prvok v zozname má nulovú hodnotu vo svojom predchádzajúcom poli. Pochybne prepojený zoznam sa môže posúvať vpred sledovaním ďalších odkazov v každom prvku a podobne sa môže posúvať späť pomocou predchádzajúcich odkazov v každom prvku..
Aký je rozdiel medzi jednotlivo prepojeným zoznamom a zoznamom nepochybne prepojených?
Každý prvok v jednotlivo prepojenom zozname obsahuje odkaz na ďalší prvok v zozname, zatiaľ čo každý prvok v dvakrát prepojenom zozname obsahuje odkazy na ďalší prvok, ako aj na predchádzajúci prvok v zozname. Zdvojené zoznamy vyžadujú viac miesta pre každý prvok v zozname a základné operácie, ako je vloženie a vymazanie, sú zložitejšie, pretože sa musia zaoberať dvoma odkazmi. Zoznamy odkazov však umožňujú jednoduchšiu manipuláciu, pretože umožňujú prechádzať zoznamom vpred a vzad.