Sunteți pe pagina 1din 2

O alta structura este coada. Principiul : first in, first out.

Adaugarea unui element intr-o coada


presupune adaugarea la sfarsitul acesteia. Eliminarea presupune stergerea primului element
din coada. Grafic o coada care sa contina elementele de la 1 la 5 poate fi reprezentata
astfel:

1
p

->

->
u

->
u

->

5
u

Reprezentarea unei cozi se face prin intermediul a doi pointeri, p si u. P sa reprezinte


adresa primului element, si u al ultimului.
Pt rezolvarea problemelor parametrii functiilor importante vor fi p si u.
struct info
{
int info;
coada *urm;
};
void init (coada *&p, coada *&u)
{
p=u=NULL;
}
void ad(coada *&p,coada *&u,int x)
{
coada *q;
if(p==NULL)
{
p=new coada;
p->info=x;
p->urm=NULL;
u=p;
}
else
{
q=new coada;
q->info=x;
q->urm=NULL;
u->urm=q;
u=q;
}
}
void sterge(coada *&p,coada *&u,int x)
{
coada *q

if(p==NULL)
{
cout<<"Coada vida ";
}
else
if(p==u)
p=u=NULL;
else
{
q=p->urm;
delete p;
p=q;
}
}
void parcurgere(coada *p,coada *u)
{
coada *q;
if(p==NULL)
cout<<"Coada vida";
else
for(q=p;q<=u;q->urm)
cout<<g->info;
}
int main()
{
coada *p,*u;
int x,n,i;
init(p,u);
cin>>n;
for(i=1;i<=n;i++)
{
cin>>x;
ad(p,u,x)
}
parcurgere(p,u)
}
Alta structura: lista dublu inlantuita. Pt fiecare element vom retine atat informatia cat si
adresa elementului precedent acestuia respectiv adresa elementului urmator.

S-ar putea să vă placă și