Lista cu legături individuale vs Lista cu legături duble
Lista legată este o structură de date liniară care este utilizată pentru a stoca o colecție de date. O listă legată alocă memoria elementelor sale separat în propriul bloc de memorie și structura generală este obținută prin legarea acestor elemente ca verigi într-un lanț. O listă legată individual este alcătuită dintr-o secvență de noduri și fiecare nod are o referință la următorul nod din secvență. O listă dublă legată conține o secvență de noduri în care fiecare nod conține o referință la nodul următor, precum și la nodul anterior.
Listă legată individual
Fiecare element dintr-o listă legată individual are două câmpuri, așa cum se arată în Figura 1. Câmpul de date conține datele reale stocate, iar câmpul următor conține referința la următorul element din lanț. Primul element al listei conectate este stocat ca cap al listei conectate.
Figura 2 prezintă o listă legată individual cu trei elemente. Fiecare element își stochează datele și toate elementele, cu excepția ultimului, stochează o referință la următorul element. Ultimul element deține o valoare nulă în câmpul următor. Orice element din listă poate fi accesat începând de la cap și urmând următorul indicator până când îndepliniți elementul cerut.
Lista dublă legată
Fiecare element dintr-o listă dublă legată are trei câmpuri așa cum se arată în Figura 3. Similar listei legate individual, câmpul de date deține datele reale stocate, iar câmpul următor deține referința la următorul element din lanț. În plus, câmpul anterior deține referința la elementul anterior din lanț. Primul element al listei conectate este stocat ca cap al listei conectate.
Figura 4 prezintă o listă dublă legată cu trei elemente. Toate elementele intermediare stochează referințe la elementele anterioare și anterioare. Ultimul element din listă deține o valoare nulă în câmpul următor și primul element din listă deține o valoare nulă în câmpul său anterior. Lista dublă legată poate fi parcursă înainte urmând următoarele referințe din fiecare element și în mod similar poate fi parcursă înapoi folosind referințele anterioare din fiecare element.
Care este diferența dintre Lista cu legături individuale și Lista cu legături duble?
Fiecare element din lista legată individual conține o referință la următorul element din listă, în timp ce fiecare element din lista dublă legată conține referințe la următorul element, precum și la elementul anterior din listă. Listele dublu conectate necesită mai mult spațiu pentru fiecare element din listă și operațiunile elementare, cum ar fi inserarea și ștergerea, sunt mai complexe, deoarece trebuie să se ocupe de două referințe. Dar listele de legături duble permit o manipulare mai ușoară, deoarece permite traversarea listei în direcții înainte și înapoi.