JavaScript è un linguaggio di programmazione web utilizzato per rendere le nostre pagine Web e le applicazioni Web dinamiche e interattive dando loro la possibilità di pensare e agire. Come qualsiasi altro linguaggio di programmazione, JavaScript ci offre array che sono una raccolta di diversi elementi memorizzati in una singola variabile. La limitazione di un array è che è memorizzato consecutivamente in una memoria particolare nel nostro sistema, quindi per risolvere questo problema utilizziamo un elenco collegato.
Lista collegata
Gli elenchi collegati sono come array, tranne che in un elenco collegato gli elementi non vengono salvati in una posizione o indice di memoria specifica e ogni elemento è un oggetto indipendente separato che è collegato all'elemento successivo avendo un puntatore o un collegamento a quell'elemento.
Ogni elenco collegato contiene una proprietà testa (primo nodo), lunghezza (dimensione dell'elenco collegato) e una proprietà di coda (ultimo nodo) e ogni elemento in un elenco collegato viene chiamato nodo e ogni nodo ha un valore memorizzato in esso e Il collegamento al nodo successivo. Se il nodo corrente è la coda, il collegamento sarà nullo che non punta a nessun altro nodo. L'elenco collegato non contiene indici a differenza degli array che hanno indici E.g 0,1,2 ... e così via.
Gli elenchi collegati in JavaScript possono essere dimostrati come segue:
// Lista collegataIl vantaggio dell'elenco collegato è che gli elementi (nodi) vengono facilmente aggiunti e rimossi dall'elenco collegato senza regolare l'intero elenco collegato. Lo svantaggio di un elenco collegato è che richiede più memoria per l'archiviazione poiché ora abbiamo un puntatore aggiuntivo che stiamo memorizzando insieme al valore dell'elemento.
Gli elenchi collegati sono di tre tipi descritti di seguito:
Implementazione dell'elenco collegato
Creiamo innanzitutto un nodo che abbia due proprietà un valore e un puntatore per il quale creeremo una classe con il nome di ListNode Questo ha queste due proprietà:
Class ListNodeOra che sappiamo come creare un nodo, consenterci di creare un elenco collegato in cui il valore predefinito della testa sarà nullo:
class LinkedListInizializziamo ora l'elenco collegato con due nodi e aggiungiamo un puntatore dalla testa o dal nodo 1 al secondo nodo:
var node1 = new ListNode (3);Il prossimo passo è inizializzare l'elenco collegato con Node1 nel modo seguente:
var list = new LinkedList (node1);L'intero codice è riportato di seguito con la registrazione della console il valore node2:
// Creazione di nodoMetodi di elenco collegati
Ora che abbiamo finito con l'implementazione dell'elenco collegato, riproduciamo o manipola l'elenco collegato implementando più metodi per utilizzare gli elenchi collegati (metodi helper):
Il primo metodo Helper che definiremo è il misurare() Metodo della classe Lista collegata che restituirà la lunghezza dell'elenco collegato:
size = () =>In questo codice prima, stiamo dichiarando una variabile fittizia contare memorizzando 0 in esso e poi conserva il puntatore della testa nel nodo variabile. Quindi abbiamo dichiarato un ciclo che iterirà nell'elenco collegato e increderà il contare variabile.
Il prossimo metodo Helper sarà il getFirst () Metodo in cui verrà restituito il puntatore del capo:
getFirst = () =>Possiamo anche ottenere l'ultimo nodo dell'elenco collegato nel modo seguente:
getLast = () =>Di seguito è ora riportato l'intero codice che mostra l'output del valore del secondo nodo, la dimensione dell'elenco collegato, il valore del primo nodo e il valore dell'ultimo nodo nello stesso ordine:
// Creazione di nodoConclusione
Dopo gli array, un elenco collegato è la seconda struttura di dati più utilizzata in qualsiasi linguaggio di programmazione. Un elenco collegato è come un array che memorizza una raccolta di diversi elementi con la differenza è che ogni elemento (nodo) di un elenco collegato è un oggetto contenente un valore dell'elemento e un puntatore che punta al nodo successivo, quindi collegando ogni elemento e La seconda differenza è che gli elementi non vengono salvati in una posizione di memoria specifica in un elenco collegato.
In questo post, abbiamo visto quali sono gli elenchi collegati, i vantaggi e gli svantaggi degli elenchi collegati, i tipi di elenchi collegati e come implementare la struttura dei dati degli elenchi collegati in JavaScript.