Liste+liniare

Liste liniare
O **lista liniara** este o succesiune ordonata de elemente cu proprietatile: - exista primul si ultimul element; - fiecare element, cu exceptia ultimului, are un succesor - fiecare element, cu exceptia primului, are un predecesor Listele liniare pot fi memorate secvential, intr-un vector, sau inlantuit (cu pointeri). Pentru a reprezenta succesiunea elementelor in cadrul unei liste se folosesc sageti catre succesorul fiecarui element: NULL In cazul alocarii inlantuite a listelor informatia memorata in fiecare element este formata din: - informatia utila (valoarea elementului din lista) - informatia de legatura (adresa urmatorului element)

__Principalele operatii cu liste sunt:__
Inserarea poate fi facuta: -la inceputul listei -la sfarsitul listei -in interior Stergerea poate fi facuta: -la inceputul listei -la sfarsitul listei -in interior __**Operatii suplimentare**__
 * 1.** **Crearea listei**
 * 2. Adaugarea (inserarea) unui element in lista.**
 * 3. Stergerea (extragerea) unui element din lista**
 * 4. Parcurgerea listei si prelucrarea elementelor**
 * 5. Cautarea unui element**
 * 6. Determinarea elementelor de valoare minima/maxima**
 * 7. Selectarea elementelor care au aceeasi proprietate**
 * 8. Concatenarea a doua liste**
 * 9. Sortarea elementelor unei liste**
 * 10. Interclasarea a doua liste sortate**


 * Liste liniare (vectori de structuri):**
 * REZOLVARI:**
 * P1.**




 * P2. [[file:ex2.cpp]][[file:p2_cu_functii.cpp]]**


 * P3. [[file:ex3.cpp]]**


 * GRILE BALCALAUREAT:**
 * Grile liste inlantuite 2007:Bac CPP 2007**
 * Bac_intcpp_S2_2009.pdf**
 * Bac_intcpp_S3_2009.pdf**

Stiva si Coada teorie :




B1. Stiva si coada: [[file:Fisa_stiva si coada.pdf]]

 * Probleme rezolvate:**
 * 1. Stiva: [[file:stiva.cpp]] varianta cu functii [[file:stiva_cu_functii.cpp]]**

**Flaviu Dan**
 * Stiva cu numere pare[[file:stiva_pare.cpp]] Ionut**
 * 6. Coada: [[file:coada.cpp]]**


 * EVALUAREA valorii unor functii folosind stiva**
 * 1. Funcţia lui Manna-Pnueli:**
 * Exemplu pentru n=8:**
 * F(8)=( r2) =F(F(10))=F(11)=...=11**
 * a) F(10)=( r2 )=F(F(12))=F(11) ** = ** 11 **
 * b) F(12)=(r1)= 11 **
 * c) F(11)=(r2)=F(F(13))=(r1)=F(12)=(r1)= 11 **
 * Programul cpp:[[file:manna.cpp]]**
 * 2. Funcţia lui Ackermann:**
 * Exemplu pentru m=1 şi n=1:**
 * Ack(1,1)=(r3)=Ack(0,Ack(1,0))=Ack(0,2)=(r1)=3**
 * a) Ack(1,0)=(r2)=Ack(0,1) =(r1)=2**
 * Programul cpp: [[file:ack.cpp]]**

__**OPŢIONAL**__
 * Aplicatie la coada Algoritmul lui Lee**