Anche se questa domanda è già stato risposto, io non sono in qualche modo soddisfatti della risposta (senza offesa), ecco come vorrei rispondere ad essa:
cosa usare - lista semplicemente o doppiamente concatenata dipende cosa intendi raggiungere e limiti del sistema, se ce ne sono.
lista semplicemente legata:
Pro: Semplice nella realizzazione, richiede relativamente minore memoria per l'archiviazione, supponendo che è necessario eliminare/inserire (at) nodo successivo - delezione/inserzione è più veloce.
Contro: non può essere iterato al contrario, è necessario mantenere una maniglia per il nodo principale della lista else, l'elenco andrà perso in memoria. Se si sta eliminando il nodo precedente o si inserisce nel nodo precedente, sarà necessario scorrere l'elenco dalla testa al nodo precedente per poter eseguire tali operazioni - O (N).
- Quindi, deve essere utilizzato quando si dispone di una memoria inferiore e l'obiettivo principale è l'inserimento/eliminazione e non la ricerca di elementi.
lista doppiamente collegata:
Pro: Può essere iterata in avanti così come direzione inversa. Nel caso in cui sia necessario eliminare il nodo precedente, non è necessario passare dal nodo principale, poiché il nodo da eliminare può essere trovato dal puntatore ".precedente".
Contro: relativamente complesso da implementare, richiede più memoria per l'archiviazione (1 puntatore "precedente" per nodo). Inserimenti e cancellazioni sono relativamente più dispendiose in termini di tempo (assegnazione/riassegnazione puntatore "precedente" per i nodi vicini)
- Questo dovrebbe essere usato quando non ci sono limiti o limiti di memoria, e il tuo obiettivo principale è cercare elementi .
Se ci sono altri pro e contro in qualsiasi, per favore sentiti libero di aggiungere, rispondi nei commenti. Grazie!
Uno è più flessibile, l'altro richiede più spese generali. Inoltre, i tuoi elenchi collegati sono elenchi concatenati circolari. – robert
Ho usato queste immagini per fare un heads-up in realtà. – Tarik
Si potrebbe voler vedere [liste semplici-collegate e doppie-link-quando-e-perché] (http://stackoverflow.com/questions/712429/plain-linked-and-double-linked-lists- quando e perché) – nawfal