Liste simplu inlantuite
Reprezentare grafica
inf | urm -> inf | urm -> . -> inf | urm -> inf | NULL
prim ultim
In urmatoarele exemple se va considera ca informatia memorata in noduri si notata inf, va retine o valoare intreaga "x".
Inplementare
Struct nod
Lista vida
nu contine elemente: prim=ultim=NULL
Functia pt a testa daca o lista este vida:
Int este_vida nod*urm)
Creearea listei
Crearea unei liste vide se face astfel:
Void init_vida nod*&prim,nod*&ultim)
prim=NULL
ultim NULL
Adaugarea primului nod la lista
Descrierea algoritmului:
Pasul 1: se va aloca memorie pt nodul "prim"
Pasul 2: se scrie informatia in nodul "prim"
Pasul 3: adresei de legatura a nodului prim se atribuie valoarea NULL
Pasul 4: nodului "ultim" i se atribuie adresa nodului "prim"
Implementare: void adaug_prim nod*&prim,nod*&ultim)
Adaugarea unui nod: "p" in lista, se poate face:
in fata primului nod
dupa ultimul nod
in interiorul listei
1) Adaugarea in fata primului nod:
inf | urm -> inf | urm -> . -> inf | NULL
prim ultimo
|---------|
inf | urm--| void adaug_nod(nod*&prim,*&ultim)
p
|