Ciao provo a darti una mano.
Non ricordo bene il C, per cui ti posto una sorta di pseudocodice per il Preordine:
Naturalmente r è di tipo Nodo .codice:void treePreorder(root) { if(root == null) return; <visita root> r = root.firstChild; while(r != null) { treePreorder(r); r = r.nextSibling; } }
Non dovresti avere problemi a tradurla in C.
Come vedi è una funzione ricorsiva, la logica non è difficile. Ti consiglio di disegnarti la stuttura dati per avere un'idea più chiara del funzionamento.
Per le altre due visite (InOrder e PostOrder).. la logica è la stessa.... e possono essere un buon esercizio per capire meglio la struttura.
Spero di esserti stato di aiuto
Ciao![]()