+ All Categories
Home > Documents > Liste Simplu Inlantuite

Liste Simplu Inlantuite

Date post: 22-Dec-2015
Category:
Upload: iulian
View: 10 times
Download: 0 times
Share this document with a friend
Description:
Prezentare
13
Liste Simplu Inlantuite Operatii elementare Stergerea unui element
Transcript
Page 1: Liste Simplu Inlantuite

Liste Simplu Inlantuite

Operatii elementareStergerea unui element

Page 2: Liste Simplu Inlantuite

Recapitulare• Definitie:

Zona de memorie neliniara organizata in celule ce contin referinte catre alte celule.

• Declaratie C:

typedef struct celula {

tip_informatie informatie;

celula* celula_urmatoare;

};

Page 3: Liste Simplu Inlantuite

Reprezentare grafica

Page 4: Liste Simplu Inlantuite

Operatii elementare

• Parcurgere lista• Iterativ• Recursiv

• Inserare La inceputul listei La sfarsitul listei Dupa o celula anume Inainte de o celula anume

Page 5: Liste Simplu Inlantuite

Stergere

• Exemplu

Page 6: Liste Simplu Inlantuite

Stergere(2)

Page 7: Liste Simplu Inlantuite

Algoritm Stergere

• Algoritm

Page 8: Liste Simplu Inlantuite

Cazuri particulare

• Lista vida->rezolvare:test cap_lista == NULL

• Lista cu un element->test conditie_eliminare si return cod

eroare sau succes.• Eliminare cu free(celula) sau cu return celula->info.

Page 9: Liste Simplu Inlantuite

Algoritm-Eliminare inceput

Algoritm Eliminare { • daca lista vida atunci intoarce esec; • salveaza adresa celulei eliminate; • modifica adresa inceput lista;• elibereaza spatiul ocupat de celula eliminata;• intoarce succes; }

Page 10: Liste Simplu Inlantuite

Exemplu eliminare inceput

Page 11: Liste Simplu Inlantuite

Eliminare interior

• Se realizeaza in doua etape:A. Localizarea celulei

-dupa care se efectueaza eliminarea (al carei camp urm se modifica) .

Caz particular: celula inexistentaB. Eliminarea propriu-zisa

-daca este necesar, elementul din celula eliminata este copiat lao adresa furnizata ca parametru

Page 12: Liste Simplu Inlantuite

Eliminare interior

Page 13: Liste Simplu Inlantuite

Aplicatii

• Eliminati primul element negativ dintr-o lista.• Eliminati toate numerele < 5 din lista.• Eliminati primele 3 numere negative < -2.• Eliminati dintr-o lista celulele impare si

intoarceti o noua lista cu acestea.


Recommended