La mia applicazione deve memorizzare molti dati (migliaia) per poter poi accedervi richiamando un dato specifico, non ho idea di come procedere: file ad accesso casuale? Database? Consigli e possibilmente link a guide....
La mia applicazione deve memorizzare molti dati (migliaia) per poter poi accedervi richiamando un dato specifico, non ho idea di come procedere: file ad accesso casuale? Database? Consigli e possibilmente link a guide....
Windows Xp
[Java]
[PHP]Notepad++
[Fortran90-77] elf90 g77
[C++ /WinAPI] DevC++ VisualC++
I record che dimensione hanno?
Se non è un segreto industriale, cosa deve fare il programma più precisamente?
Non è un segreto industriale .....
I dati non sono altro che stringhe e numeri, ma i record non sono molto lunghi, che so un record potrebbe contenere una stringa di una decna di caratteri ed un intero....è il numero di record che è elevato e è richiesta la possibilità di accedere ad un record specifico (uno con una determinata stringa ad esempio).
Grazie
Windows Xp
[Java]
[PHP]Notepad++
[Fortran90-77] elf90 g77
[C++ /WinAPI] DevC++ VisualC++
L'input come avviene?
Per me potresti semplicemente memorizzarli in un array ordinato e salvarlo su un file così com'è...
Se i dati sono abbastanza di lunchezza omogenea puoi usare compi di larcgezza fissa essendo lo spazio sprecato trascurabile... altrimenti all'inizio fai una tabella di interi (sempre un array) che contengono l'offset...
Io memorizzerei in un oggetto contenitore come vector e serializzerei(se la serializzazione degli oggetti è supportata in C++ non lo so).
Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)
La ricerca verrà eseguità spesso?Originariamente inviato da Xadoom
La mia applicazione deve memorizzare molti dati (migliaia) per poter poi accedervi richiamando un dato specifico, non ho idea di come procedere: file ad accesso casuale? Database? Consigli e possibilmente link a guide....
Se si, dovrai per forza di cose implementare una specie di ISAM (Indexed Sequential Access Method), cioè un indice (puoi usare la classe std::map) che ti consentirà di velocizzare molto le operazioni di ricerca, cancellazione e inserimento (tutte in tempo O(log(n))).
L'ottimo sarebbe un indice implementato con un btree
http://cs.hbg.psu.edu/courses/comp419.taw.s97/file.html