Buongiorno a tutti,
sto creando una lista tramite la visita inorder di un albero,
la visita percorre tutti i nodi correttamente ma popola la lista in modo anomalo.

codice:
lista *appendilista(nodo *pnodo, char direzione) {
      lista *plista;
      if (pnodo != NULL) {
            plista = (lista *)malloc(sizeof(struct tlista));
            if (plista != NULL) {
               plista->pnext = appendilista(pnodo->pleft,direzione);
               printf("Cod. = %d - Part. = %d\n",pnodo->pvolo->codice,pnodo->pvolo->ora_p);
               plista->pnodo = pnodo;
               plista->pnext = appendilista(pnodo->pright,direzione);
            return plista;
            }
      } else {
            return NULL;
      }
}