PDA

View Full Version : Lista ordinata a due livelli in C


gamma29
04-05-2003, 12:16
Dovrei realizzare un programma in C che crei una lista ordinata a due livelli (nome e cognome) per memorizzare strutture e ne memorizzi il contenuto su file.
Qualcuno può indirizzarmi sulla buona strada o consigliarmi qualche tutorial?

gamma29
05-05-2003, 18:08
UP!

cionci
05-05-2003, 18:21
Mi piace la tua firma !!!

Lo scorso anno li ho visti due volte i Manowar ;)
Senza contare che "Heavy Metal is the law" è una canzone degli Helloween :)

Che intendi per "due livelli" ?

gamma29
05-05-2003, 22:25
Anch'io li ho visti due volte!!!
Per caso Gods of Metal e Faenza?

Per due livelli intendo che la lista deve essere ordinata sia per nome che per cognome.

cionci
06-05-2003, 07:40
Originally posted by "gamma29"

Anch'io li ho visti due volte!!!
Per caso Gods of Metal e Faenza?
Certo !!! :)
Per questa estate se mi torna con gli esami mi faccio tutta una tirata di Metallica e Iron all'Heineken...
Se non mi torna con gli esami vado in Belgio a vedere Iron e Slayer :)
Originally posted by "gamma29"

Per due livelli intendo che la lista deve essere ordinata sia per nome che per cognome.
Per ordinarla sia per nome che per cognome puoi adottare diverse strategie...

Puoi fare una lista che contiene solo i cognomi e da ogni elemento di questa ci sarà un puntatore ad un lista che contiene tutti i nomi delle persone che hanno lo stesso cognome...
In questo modo la gestione degli inserimenti è abbastanza facile, la gestione della ricerca e modifica pure, la gestione della cancellazione un po' meno...

struct sNome {
char nome[50];
sNome *next
};

struct sCogn {
char cognome[50];
sNome *nomi
sCogn *next;
};

Fare la struttura dei cognomi doppiamente linkata potrebbe semplificare la cancellazione...

Altrimenti puoi fare un'unica lista che contiene sia cognome che nome...e quando vai a fare l'ordinamento devi considerare prima il cognome e poi il nome... E' sicuramente la soluzione più semplice...

struct sPersona {
char cognome[50];
char nome[50];
sPers *next;
};

Scoperchiatore
06-05-2003, 09:48
Originally posted by "cionci"

Mi piace la tua firma !!!

Lo scorso anno li ho visti due volte i Manowar ;)
Senza contare che "Heavy Metal is the law" è una canzone degli Helloween :)

Che intendi per "due livelli" ?

Ma entrare negli HWM, no?? :D

noto che parli spesso di metal anche in programmazione! :D:D ;)

cionci
06-05-2003, 11:08
Originally posted by "Scoperchiatore"

noto che parli spesso di metal anche in programmazione! :D:D ;)
Non riesco a farne a meno :D