Ti consiglio di sbattere un bel po la testa, su quell'esempio che t'ho passato! La ci sono tutti gli elementi per riuscire ad'ordinare un'albero!
Inoltre un bellissimo esercizio si può svolgere con carta e penna, semplicemente eseguendo la funzione showtree() al posto della macchina; pushando nello stack tutti i frame relativi ad ogni invocazione della funzione e popandoli quando restituiscono il controllo al chiamante. Dopo un'esercizio del genere avrai realmente consapevolezza di come funziona showtree e potrai usarla per riordinare o applicarla, la dove serve.