Non funziona la funzione ordina! qualcuno può aiutarmi?
codice:# include <stdlib.h> # include <stdio.h> typedef struct nodo *lista; typedef struct nodo { int val; lista next; }nodo; lista leggiLista (void); lista ordina(lista L); void stampaLista (lista L); int main (void) { lista lis; lis=leggiLista(); stampaLista(lis); lis=ordina(lis); stampaLista(lis); system("PAUSE"); return 0; } lista leggiLista (void) { lista N,L=NULL; int val; while (1) { printf("inserisci valore: "); scanf("%d",&val); if (val==0) break; N=(nodo *)malloc (sizeof(nodo)); if(!N) { printf("non c'è spazio"); break; } N->val=val; N->next=L; L=N; } return L; } lista ordina (lista L) { int valore; nodo *temp; temp=L->next; while(temp!=NULL) { if(L->val>temp->val) { valore=L->val; L->val=temp->val; temp->val=valore; } temp=temp->next; } return L; } void stampaLista (lista L) { while(L!=NULL) { printf("\n%d\n",L->val); L=L->next; } printf("----------------------------"); }

Rispondi quotando