[C++] alberi binari Inorder
ragazzi sto provando a eseguire un metodo che fa le visiste in order ma non riesco mi aiutate? lo devo fare iterativo con le pile, sto provando ma non capisco che errore faccio, mi date una mano?
All'uni stiamo usando una classe albero creata a d'oc, i metodo sinistra, destra sono i prossimi nodi , radice si intendiamo per esempio : 1
2 4
5 3
se consideriamo il 2,3,4 il 2 sarebbe la radice, 5 sinistra e 3 destra , non so se mi spiego
All'uni stiamo usando una classe albero creata a d'oc, i metodo sinistra, destra sono i prossimi nodi , radice si intendiamo per esempio : 1
2 4
5 3
se consideriamo il 2,3,4 il 2 sarebbe la radice, 5 sinistra e 3 destra , non so se mi spiego

void inorder(albero<Punti> &a){ stack<albero<Punti> >pila; pila.push(a); while(!pila.empty()){ albero<Punti> a1=pila.top(); if(!a1.sinistra().e_vuoto()){ pila.push(a1.sinistra()); }else{ cout << a1.radice<<endl; a1=pila.top(); pila.pop(); if(!a1.destra().e_vuoto()){ a1=a1.destra(); pila.pop(); pila.push(a1); } } } }