Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica

C


Qdidactic » stiinta & tehnica » informatica » c
Liste liniare alocate dublu inlantuit



Liste liniare alocate dublu inlantuit



Motivul pentru care acestea se numesc dublu inlantuit este faptul ca nodurile care le compun au 2 campuri care pointeaza spre acelasi tip. Astfel, o lista alocata dublu inlantuit este o structura de date de forma:


. .

x1 x2 x3 xn


x1, x2, . , xn fiind nodurile listei. Campul st al primului element precum si campul dr al ultimului element trebuie sa fie NULL, deoarece nimic nu pointeaza spre primul element si ultimul element nu pointeaza spre nimic.


Nodurile listei sunt definite astfel:


struct nod


nod *A,*B,*C;


Avantajul utilizarii listei alocate dublu inlantuit este dat de faptul ca o astfel de lista poate fi parcursa in ambele sensuri.


Operatiile ce se pot efectua asupra unei liste liniare alocate dublu inlantuit sunt asemanatoare cu cele de la listele liniare alocate simplu inlantuit, singura diferenta fiind aceea ca legaturile dintre noduri trebuie facute in dublu sens.

De exemplu:

Presupunem ca avem de sters nodul B din lista de mai jos.


A B C


Deci, trebuie sa il conectam pe nodul A la nodul C.


A->dr = C;

C->st = A;


Dupa acest set de instructiuni, lista va arata in felul urmator:





A B C


Apoi stergem nodul B, utilizand functia delete.



Presupunem ca trebuie sa adaugam nodul C intre nodurile A si B. Initial, lista arata astfel:


A B


Intai, il creem pe C:


C = new nod;


A B

C


Pentru a-l insera pe C intre A si B, trebuie sa il legam pe A la C si pe C la B:


A->dr=C;

C->st=A;

B->st=C;

C->dr=B;


Astfel, am obtinut secventa dorita:


A B C



Liste circulare alocate simplu si dublu inlantuit


Acestea sunt similare cu listele liniare alocate simplu si dublu inlantuit, numai ca ultimul element pointeaza catre primul (si primul catre ultimul, in cazul celor dublu inlantuit).

O lista circular simplu inlantuita are urmatoarea forma:








Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright