Il nodo dell'elenco collegato sembra questo:
Rispetto all'array, l'elenco collegato non è una struttura di dati sequenziali perché è una struttura dati memorizzata dinamicamente. Memorizza tutti i dati in diverse posizioni di memoria e possiamo accedere a questi dati tramite il puntatore del nodo che memorizza l'indirizzo dei dati.
Questo modo di archiviare i dati ha questi vantaggi:
1. Non abbiamo una dimensione della memoria predefinita come un array, che porta a molti rifiuti di memoria.
2. In un array, se definiamo una memoria di tempo, non possiamo diminuirla o aumentarla in base alle nostre esigenze. Ma in un elenco collegato, possiamo aumentare o ridurre i nodi in base ai nostri requisiti.
L'elenco collegato è simile a questo:
Ogni elenco collegato ha un nodo di intestazione che è il primo nodo dell'elenco collegato; e un nodo di coda che è presente alla fine dell'elenco collegato. Dal nodo di coda, l'elenco collegato che punta al nodo successivo è finito perché memorizza l'indirizzo null, il che non significa nulla. Se un elenco collegato ha un solo nodo, significa che il nodo di intestazione e il nodo di coda sono gli stessi.
Eliminazione di un elenco collegato:
Come indicato di seguito, possiamo eliminare un nodo da un elenco collegato in tre modi:
1. Elimina il primo nodo dell'elenco collegato
2. Elimina l'ultimo nodo dell'elenco collegato
3. Elimina un nodo di posizione specifico
Spiegazione di tutti questi concetti:
Elimina il primo nodo dell'elenco collegato (il nodo di intestazione):-
Per eliminare il primo nodo dall'elenco collegato significa eliminare il nodo di intestazione (primo nodo) dell'elenco collegato. Per fare ciò, dobbiamo seguire la seguente procedura:
UN. Dobbiamo creare un puntatore (temporaneo).
B. L'indirizzo del nodo di intestazione viene copiato sul puntatore (temporaneo).
C. Ora abbiamo memorizzato l'indirizzo del nodo di intestazione. Quindi, possiamo dichiarare il nodo successivo dell'intestazione come primo nodo elenco collegato.
Eliminare il primo nodo significa che il nodo di intestazione è semplice:
Codice C ++ per eliminare il primo nodo dall'elenco collegato:
void deleteLinkEdListFirstNode ()Eliminazione dell'ultimo nodo (nodo di coda):
L'eliminazione del nodo di intestazione dell'elenco collegato era semplice. Ma quando volevamo eliminare l'ultimo nodo o il nodo di coda dell'elenco collegato, dobbiamo trasferire il puntatore nullo dal nodo di coda al nodo precedente della coda, che ha l'indirizzo del nodo di coda.
Per implementare questo, dobbiamo usare due nodi temporanei ed eseguire attraverso l'elenco collegato. Quando l'elenco collegato di attraversamento è finito, il nodo temporaneo punterà al nodo corrente e un altro nodo temporaneo punterà al nodo precedente. Ora entrambi i nodi richiesti affrontano i dettagli che abbiamo e possiamo eliminare il nodo di coda mentre si sposta il puntatore null sul nodo precedente.
Codice C ++ per eliminare l'ultimo nodo dall'elenco collegato:
void deleteLinkEdListLastNode ()Eliminazione del nodo in posizione specifica:
Per eliminare un nodo da qualsiasi parte dell'elenco collegato, dobbiamo inserire la posizione particolare del nodo che vogliamo eliminare. Per definire il nodo di posizione specifico, utilizziamo due nodi temporanei, come abbiamo fatto durante l'eliminazione del nodo di coda. Attraggiamo l'intero elenco collegato fino a quando non otteniamo il nodo di posizione specifico che vogliamo eliminare e dopo aver ottenuto quel nodo, l'altro nodo temporaneo terrà l'indirizzo del nodo precedente del nodo corrente. Ora, poiché abbiamo entrambi i dettagli del nodo, possiamo facilmente spostare l'indirizzo dal nodo di eliminazione al nodo dell'indirizzo precedente, che ora punterà al nodo successivo, proprio come nel precedente metodo eliminato dell'ultimo nodo.
Codice C ++ per eliminare il nodo nth dall'elenco collegato:
void delethenthpositionNode (int positionNumber)Programma C ++ per eliminare un nth nodo dall'elenco collegato
#includereProduzione:
Visualizzazione di LinkedList =>: 50 31 27 23 34 29Conclusione:
In questo blog, abbiamo studiato diversi modi per eliminare i concetti dell'elenco collegato e come possiamo codificare anche in un programma C ++. Infine, abbiamo studiato i principali concetti di eliminazione del nodo da una particolare posizione. I concetti di elenco collegati sono sempre importanti perché questo è il modo di giocare con la memoria del sistema operativo e ha molti vantaggi rispetto all'array.