PDA

View Full Version : [C] Lista -> Vettore


andrea0032
30-12-2007, 13:32
Ciao a tutti.
Dovrei fare un programma che legge da file una serie di stringhe
<partenza> <destinazione>.

Il numero di linee nel file non è noto a priori e i dati sono messi in modo casuale, ad esempio:

Roma Napoli
Torino Milano
Roma Palermo
Bari Napoli

Ho pensato di fare una lista di città, dove ogni elemento di questa lista contiene la lista delle città che raggiunge.

Il problema è il seguente: poichè devo fare una funzione ricorsiva per risolvere un dato problema, mi sarebbe molto comodo avere a che fare con vettori, dato che permettono l'accesso diretto. Con le liste infatti dovrei scandire la lista per trovare quello che mi serve, e questo comporta un certo costo.

Secondo voi è giusto fare una funzione che converta la lista in vettore???
Altrimenti quale altra soluzione mi consigliate??

xblitz
30-12-2007, 14:53
Ciao a tutti.
Secondo voi è giusto fare una funzione che converta la lista in vettore???

Secondo me no: se non sai a priori quante righe (e quindi quanti nodi della lista) usare come fai a dimensionare il vettore? finché il vettore è più grosso della lista va bene ma se ciò non fosse così? avresti quindi il rischio di perdere dati...


Altrimenti quale altra soluzione mi consigliate??

io proverei con un caso estremo per vedere quanto "ti costa" d'altra parte le soluzioni sono queste due puoi sempre trasformare la funzione per i vettori dopotutto

xblitz
30-12-2007, 15:11
[cut] le soluzioni sono queste due puoi sempre trasformare la funzione per i vettori dopotutto

No cancella: potresti creare un vettore in memoria dinamica:
dichiari un puntatore e allochi il numero di byte necessari. poi riempi il vettore