Salve a tutti! Sto studiando per un esame di Fondamenti di Informatica, e sono proprio alle prime armi con l'utilizzo del linguaggio C. Ho incontrato alcuni problemi con le liste: dopo tanti tentativi non riesco a capire come ordinare alfabeticamente una lista.
Un esempio di codice che ho creato è questo, potreste indicarmi una soluzione,ad esempio una funzione di ordinamento??
Vi ringrazio in anticipo per la disponibilità!
codice:#include<stdio.h> #include<stdlib.h> #include<iostream> typedef struct { int num; char nome[30]; }Invitato; struct InvitoFesta; typedef InvitoFesta*PuntInvitoFesta; typedef struct InvitoFesta{ Invitato invito; InvitoFesta *invitatoSuccessivo; }InvitoFesta; InvitoFesta*inserisci(PuntInvitoFesta L,int i,char*testo){ PuntInvitoFesta nuovo; nuovo=(PuntInvitoFesta) malloc(sizeof(InvitoFesta)); nuovo->invitatoSuccessivo=L; nuovo->invito.num=i; strcpy(nuovo->invito.nome,testo); return (nuovo); } void stampaLista (PuntInvitoFesta L){ PuntInvitoFesta nuovo; nuovo=L; while(nuovo!=NULL){ printf("%s\n",nuovo->invito.nome); nuovo=nuovo->invitatoSuccessivo; } } int main (){ PuntInvitoFesta Lista; Lista=NULL; int i=1; char text[20]; printf("Inserisci invitato num. %d: \n",i); printf("(digita fine per terminare)\n"); scanf("%s",text); while(strcmp(text,"fine")!=0){ Lista=inserisci(Lista,i,text); printf("Inserisci invitato num. %d: \n",i); printf("(digita fine per terminare)\n"); scanf("%s",text); i++; } printf("\n"); printf("Visualizzo Lista Invitati:\n"); stampaLista(Lista); free(Lista); system("PAUSE"); return 0; }

Rispondi quotando
