Una lista è qualcosa a cui puoi togliere e aggiungere elementi a piacimento, il vector può fare la stessa cosa.
Le differenze tra i due sono:
lista -> ricerca in O(n), inserimento testa/in mezzo/ coda in O(1)
vector -> ricerca in O(1), inserimento in coda O(1), inserimento testa /in mezzo O(n) (se non ricordo male).
Quindi usare un vector al posto di una lista non è di per se sbagliato, ma dovresti considerare quali sono le operazioni più frequenti che fai.
In una mia implementazione, ad esempio, invece di una lista ho usato una mappa per le varie adiacenze usando una unordered_map.

Rispondi quotando