Professional Documents
Culture Documents
Completare Crearea arborelui binar corespunztor unei expresii aritmetice Operanzii se afl numai n noduri terminale iar operatorii numai n noduri interne. Nodurile sunt interpretate diferit (operanzi sau operatori), fie dup continutul lor, fie dup pozitia lor n arbore (terminale sau neterminale). Algoritmul de creare a arborelui pornind de la forma postfixat sau prefixat seamn cu algoritmul de evaluare a unei expresii postfixate (prefixate). Functia urmtoare foloseste o stiv de pointeri la noduri si creeaz (sub)arbori care se combin treptat ntr-un singur arbore final.
1
BST - continuare //AfisNod - afiseaza arborele indentat void AfisIndentat(Nod *r, int nivel) { int i; for(i=0; i<nivel; i++) cout<<"\t"; if(r==0) cout<<"-\n"; //se tipareste "-" pentru ceva vid else { cout<<r->data<<endl; AfisIndentat(r->stg, nivel+1); AfisIndentat(r->drt, nivel+1); } } Apel: AfisIndentat(rad, 1)
3
BST - continuare
Returneaza parintele nodului de pointer p din BST de radacina r
BST - continuare
return pp;