Documente Academic
Documente Profesional
Documente Cultură
Oricare din cei doi subarbori, sau chiar ambii, poate fi vid, deci fiecare nod tata
are
cel mult doi fii, fiul stang considerandu-se mai in varsta decat cel drept.
#include<iostream.h>
#include<conio.h>
int rad, n, st[20], dr[20];
void citire(int n){
int i;
for(i=1;i<=n;i++){
cout<<"dati nodul din stanga lui "<<i<<": ";
cin>>st[i];
cout<<"dati nodul din dreapta lui "<<i<<": ";
cin>>dr[i];}
}
void rsd(int nod){
if (nod){
cout<<nod<<" ";
rsd(st[nod]);
rsd(dr[nod]);}
}
void srd(int nod){
if (nod){
srd(st[nod]);
cout<<nod<<" ";
srd(dr[nod]);}
}
void sdr(int nod){
if (nod){
sdr(st[nod]);
sdr(dr[nod]);
cout<<nod<<" ";}
}
void main(void){
cout<<"Introduceti numarul de noduri:";
cin>>n;
cout<<"Introduceti nodul radacina:";
cin>>rad;
citire(n);
cout<<"Parcurgerea in preordine este:";
rsd(rad);cout<<endl;
cout<<"Parcurgerea in inordine este:";
srd(rad);cout<<endl;
cout<<"Parcurgerea in postordine este:";
sdr(rad);
getch();}