Newsgroup: it.comp.lang.c
Titolo: AIUTO SU ORDINARE UN FILE :-(

AIUTO PER LA MIA TESI  :-|
Devo ordinare una sequenza di numeri che č contenuta in un file.
Qualcuno potrebbe aiutarmi?
Se qualcuno potrebbe darmi qualche funzione che faccia questo o qualcosa di
simile mi fa una cosa molto gradita.
Ciaooooooooo e grazie in anticipo :-)
Agostino Auditore.
Per la risposta potete usare questo indirizzo:
agostino...@omnia.it

 wrote in message
7rd50i$gi9$1...@fe1.cs.interbusiness.it...


Qualcuno potrebbe aiutarmi?
Puoi utilizzare l'accesso casuale ai file per evitare di dover
caricare il contenuto del file in memoria, oridinarlo e poi scriverlo
nuovamente.
Colgo l'occasione per chiedere ai più esperti se possono fornire dei
parametri per capire quando utilizzare l'uno o l'altro metodo
_____________________________________________________
Francesco Trotta
http://space.tin.it/computer/ftrotta
elimina "x_" dal mio indirizzo per le risposte

 wrote:
[ snip ]
M> fgetpos(pf,&dim);
M> dim/=sizeof(int);
Non so sulla tua piattaforma, ma sulla mia (Linux) fgetpos()
restituisce la posizione in byte.
Ciao ciao,
Andrea
-- 
"...Unix, MS-DOS, and Windows NT (also known as the Good, the Bad, and 
 the Ugly)."
(by Matt Welsh)

 wrote in message
7rgvbh$tf$1...@fokhouse.iol.it...


 wrote in message
6+3bN3=+BcGi3z=MUuxIC...@4ax.com...


 wrote:
M>Per conoscere semplicemente il numero di record in un file
M>basta spostarsi in fondo (fseek(pf,0,SEEK_END)) e quindi dividere il numero
M>di
M>byte di questa posizione per quello del tipo del record.
Certo, pero' allora la successiva
	buf=(int *)malloc(dim);
e' errata.


you wrote :
#Puoi utilizzare l'accesso casuale ai file per evitare di dover
#caricare il contenuto del file in memoria, oridinarlo e poi scriverlo
#nuovamente.
#Colgo l'occasione per chiedere ai più esperti se possono fornire dei
#parametri per capire quando utilizzare l'uno o l'altro metodo
Credo che la risposta sia una sola : MERGE SORT.
--------------------------------------------------------
* Andrea Laforgia        (
andrea_...@bigfoot.com
) *
--------------------------------------------------------

Credo che la risposta sia una sola : MERGE SORT.
Cioč?
Stavo chiedendo quando č conveniente utilizzare l'ordinamento
direttamente su file, piuttosto che caricare prima il file in un
buffer e dopo leggerlo.
Mi sorge perň un dubbio: ma non avviene giŕ implementata  in questa
maniera la lettura dei file (utilizzo di buffer)? Quindi starei
creando un buffer di un buffer?
Attendo risposta dagli "anziani" :-) 


you wrote :
#Cioč?
#Stavo chiedendo quando č conveniente utilizzare l'ordinamento
#direttamente su file, piuttosto che caricare prima il file in un
#buffer e dopo leggerlo.
Conviene ottimizzare l'utilizzo della memoria, suddividendo il file in
porzioni, ordinando le porzioni singolarmente e ricostruendo il tutto
utilizzando il merge sort.
#Mi sorge perň un dubbio: ma non avviene giŕ implementata  in questa
#maniera la lettura dei file (utilizzo di buffer)? Quindi starei
#creando un buffer di un buffer?
La "bufferizzazione" (che brutto termine) dell'I/O non e' un aspetto
che deve preoccupare il programmatore, in quanto e' per egli
assolutamente trasparente.
