Verba Roxana - teorie

Cazuri particulare de liste:
• Coada
• Stiva

Coada- o lista liniara simplu inlantuita care se construieste pe principiul “ primul intrat, primul iesit”

Coada are doua capete :
• Prin capatul din dreapta introducem noduri in coada
• Prin capatul din stanga extragem noduri.

Coada este mult utilizata in sistemele de operare ( in rutinele de alocare a resurselor, un exemplu foarte cunoscut fiind coada de asteptare a documentelor ce asteapta la tiparit atunci cand se da comanda de tiparire la o imprimanta pentru mai multe documente) sau in programe de simulare.
O coada in care adaugarile si eliminarile de elemente se po face numai la cele doua capete ale listei se numeste coada completa. Structura statica adecvata memorarii unei cozi complete este coada rulanta.

Adaugarea in coada(elem, V, n)
v[n-2] = (v[n-2] + 1) mod (n-2)
if v[n-1] = v[n-2]
return "coada plina"
V[V[n-1]] = elem
return "succes"

Stergerea din coada(V,n)
if v[n-1] = v[n-2]
return "coada goala"
v[n-1] = (v[n-1] + 1) mod (n-2)
return V[V[n-1]]

Problema: o garnitura de tren are in componenta o locomotiva si sase vagoane. locomotiva este numerotata cu 1 si vagoanele in continuare. Sa se adauge dupa primul vagon, vagonul de dormit care se va nota cu 11.

int main ()
{struct nod { int x; nod*urm;}
*p, *u, *l, *p1, *u1;
p=new nod;
p->x=1;
p=u;
p->urm=NULL;
for(i==2;i<=7;i++) {l=new nod; l->x=i;
l1->urm=l;
u=l;
l1->urm=NULL;}

l=p;
p1=new nod;
p1=l;
p=p->urm;
u1=new nod;
u1=p;
p1->urm=u1;
p=p->urm;
l=new nod;
l->x=11;
u1->urm=l;
u1=l;
u1->urm=NULL:
u1->urm=p;}

return 0;}


0 comentarii:

Trimiteți un comentariu

 
Copyright © Grupa1info