Salve ragazzi volevo avere maggiori chiarimenti su come poter risolvere un problema che ho con un sottoprogramma riguardo la visualizzazione di una lista circolare.
---------------------------------------------------
void visualizza(struct nodo *l )
{
struct nodo *app;
app=l;
if(app==NULL)
printf("\nLISTA VUOTA...\n");
else{
if(app->p==app)
printf("\nIl numero presente in lista e' %d. ",app->info);
else{
printf("\nI numeri presenti in lista sono: ");
do{
printf("\n\t %d",app->info);
app=app->p;
}while(app->p!=app);
}
}
}
-------------------------------------------------------
Il problema sussiste nel caso del do{ }while cioè nel caso in cui nella nostra lista ci sia più di un elemento. In pratica mi visualizza tutti gli elementi tranne l'ultimo (che poi nella lista circolare l'ultimo è anche il primo però diciamo l'ultimo rispetto al primo che visualizza).
Vi sarei grato se mi aiutaste.
Stefano