Listă conectată unic vs Listă dublu conectată
Lista legată este o structură de date liniară care este utilizată pentru a stoca o colecție de date. O listă legată alocă memorie elementelor sale separat, în propriul bloc de memorie, iar structura generală este obținută prin legarea acestor elemente ca verigi într-un lanț. O listă unică legată este alcătuită dintr-o secvență de noduri și fiecare nod are o referință la următorul nod din secvență. O listă dublu 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ă conectată 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 ilustrează o listă conectată 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 pornind de la cap și urmând următorul indicator până când întâlnești elementul necesar.
Lista dublu conectată
Fiecare element dintr-o listă dublu legată are trei câmpuri, așa cum se arată în Figura 3. Similar cu lista cu legături unice, câmpul de date conține datele reale stocate, iar câmpul următor conține referința la următorul element din lanț. În plus, câmpul anterior conț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ă dublu legată cu trei elemente. Toate elementele intermediare stochează referințe la primul și la elementele anterioare. Ultimul element din listă deține o valoare nulă în câmpul următor, iar primul element din listă deține o valoare nulă în câmpul anterior. Lista dublu 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 legată individual și Lista legată dublu?
Fiecare element din lista legată individual conține o referință la următorul element din listă, în timp ce fiecare element din lista dublu legată conține referințe la următorul element, precum și la elementul anterior din listă. Listele dublu legate necesită mai mult spațiu pentru fiecare element din listă, iar operațiunile elementare precum inserarea și ștergerea sunt mai complexe, deoarece trebuie să se ocupe de două referințe. Dar listele cu linkuri duble permit o manipulare mai ușoară, deoarece permite parcurgerea listei în direcții înainte și înapoi.