Ciao a tutti,
sono nuovo e una "schiappa" in informatica,
volevo esporvi un esercizio con sicuramente una mia errata soluzione:
Si consideri una lista concatenata semplice di dati su alberghi caratterizzati dal loro nome, dalla partita IVA e dal numero di camere doppie e singole. La struttura della lista è:
Si implementi la funzione di prototipo Lista estraiInOrdine( Lista lis ) che riceve una lista non ordinata e restituisce una lista contenente solo gli alberghi con più doppie che singole ordinati per partitaIVA. Si utilizzino opportune funzioni ausiliarie per dividere il problema in sottoproblemi più semplici.codice:typedef struct Node { int partitaIVA; char * nome; int numSingole; int numDoppie; struct Node * next; } Nodo; typedef Nodo * Lista;
allor io ho fatto:
codice:Lista Estrai(lista lis){ Lista tmp; tmp=NULL; While(lis!=NULL){ if((lis-> NumDoppie)> (lis->NumSingole)) inseriamolista(&tmp, lis-> NumDoppie); lis=lis->Next;}} void Inseriamolista(Lista *lis,Nodo a){ lista temp; temp=Malloc(sizeof(Nodo)); temp->Numdoppie=a; temp->next=*lis; *lis=temp;}
mi rimane di ordinare,per codice iva,come agisco?
forse conviene prima ordinare e poi selezionare quelli con Stanze doppie no?

Rispondi quotando