PDA

View Full Version : Ragazzi un aiuto per favore


Xfree
27-11-2001, 16:07
Qualcuno conosce un semplice algoritmo:confused: (magari in c/c++) per effettuare l'inserimento ordinato in un file???
Grazie anticipatamente,ciao

cionci
27-11-2001, 16:18
Per inserimento ordinato cosa intendi ? Inserire delle stringhe in ordine alfabetico in un file già ordinato ?

Xfree
27-11-2001, 16:43
hai presente l'inserimento ordinato in un vettore?io devo fare lo stesso con un file,quindi all'inizio il file è vuoto;poi i vari record ke andrò ad inserire,dovranno essere messi in ordine.:eek:
Mi sono spiegato?:confused: (forse no:D )
ciao e grazie x l'intervento

cionci
27-11-2001, 17:03
Devi usare un qualsiasi algoritmo di ordinamento per i record e alla fine scrivi il file con i record già ordinati...non va bene così ?

Xfree
27-11-2001, 21:06
Si, ci avevo gia pensato,è ke volevo implementare l'inserimento ordinato(ke con i file verrà abbastanza complicato).Se faccio come dici tu è un colpo:D
Ciao

cionci
27-11-2001, 21:18
Ricercare la posizione all'interno del file in cui inserire il record è + complesso e sicuramente + lento...e non puoi lavorare su un unico file e dovresti usare un file temporaneo (a meno che tu non ti voglia memorizzare tutti i record dal punto in cui fai l'inserimento in poi per riscriverli dopo il nuovo record)...

valse
28-11-2001, 11:21
...la diffrenza tra ordinare degli elementi su un file rispetto alla memoria centrale è da considerare in termini di tempo e di numero di accessi che devi fare nel file: è ovvio che + è alto questo numero minore è l'efficienza così io ti consiglio o di lavorare in memoria centrale e poi trasferire il tutto su file oppure di affiancare al file (anche non ordinato) un file con indice (ordinato) in cui ciascun elemento punta al corrispondente elemento dell'altro file...

Xfree
28-11-2001, 11:49
anke quest'ultima soluzione mi sembra interessante :D .X ora sto provando a caricare il file in un vettore di struct,ordinarlo, e riscaricarlo su file,ma c sono dei problemi:la struct la devo dichiarare con una dimensione costante e siccome il numero di record nel file nn rimane certamente lo stesso nn posso farlo determinando durante l'esecuzione il n di record (ho fatto cosi return f.tellg()/sizeof(Tfarmaco)) ed assegnarlo ad una variabile x poi dikiarare la struct :mad: .Quindi avevo pensato eventualmente di effettuare l'ordinamento MPS.Ke ne dite?
Grazie x l'intervento.
Ciao a tutti:)