Sunteți pe pagina 1din 1

1.se citesc n valori intr-o lista circulara simplu inlantuita.

sa se creeze o a
doua lista liniara dublu inlantuita care sa contina elementele din prima lista in
ordine inversa. sa se afiseze a doua lista

#include <iostream.h>
#include <stdlib.h>
struct elem{int n; elem*urm;}*i,*s,*aux,e;
void main()
{
int j,nr;
cin>>nr;
i=(elem*)malloc(sizeof(e));
cin>>i->n;
i->urm=i;
s=i;
for(j=1;j<nr;j++)
{
aux=(elem*)malloc(sizeof(e));
cin>>aux->n;
aux->urm=NULL;
s->urm=aux;
s=aux;
}
aux=i;

do
{
cout<<aux->n<<" ";
aux=aux->urm;
}
while(aux!=NULL);
cout<<endl;
while(nr!=0)

{aux=i;
for(j=1;j<nr;j++)
aux=aux->urm;
cout<<aux->n<<" ";
nr--;
}
}

2. se considera un arbore in care fiecare nod are 3 descendenti. sa se implementeze


o solutie de creare a arborelui cu 3 nivele. sa se parcurga arborele in latime si
adancime

3. sa se creeze un arbore binar si sa se parcurga in cele 3 moduri (pre, in, post


ordine), in plus sa se precizeze pozitia celei mai mari valori in fiecare nod de
parcurgere

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