Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Ciao a tutti, devo creare un programma che preso in input un albero binario completo o semicompleto(se la foglia non c'è metto zero), mi stampa la sua visita preordine. Io ho fatto vari tentativi ma il programma va sempre in loop.
Potreste darmi una mano a risolvere questo problema? io programmo da poco e non so bene dove mettere le mani.
Naturalmente questo necessita di una struttura dati di qualità migliore, diciamo. Ti consiglio dunque, se non l'hai già fatto, di prendere confidenza con i concetti di "puntatore" e "ricorsione". Di libri, guide ecc. ne trovi facilmente su google.
Piuttosto che far fatica inutilmente, secondo me, ti conviene imparare questi concetti basilari che ti saranno utili in molte altre cose.
si, l'avevo pensato anche io, ma il problema è che qualsiasi altra condizione io imposti o è inutile e quindi continua ad andare in loop o mi blocca l'esecuzione del programma.
Ricomincia da capo. Quel codice è un guazzabuglio. Se devi utilizzare il C che non ti offre gli stack, utilizza un array per simulare uno stack (un push assegna il valore all'elemento corrente e incrementa l'indice, un pop decrementa l'indice).
so che praticamente per fare questo programma ci sono metodi e strutture migliori di quelle che uso, ma mi è stato imposto di farlo senza ricorsione e ci sono stati insegnati a stento i puntatori, quindi io non so usare tutte queste strutture comode che mi chiedete di fare
Ti sono stati insegnati gli array e bastano ed avanzato per simulare uno stack. E non è magia nera. Hai letto la pagina che ti ho linkato? Hai capito cos'è uno stack? Dopo che hai capito quello, implementare l'algoritmo che ti ho riportato dovrebbe essere piuttosto semplice. Se hai dubbi chiedi.