Java Concetti: Linked List Lab

October 29

Le liste concatenate sono strutture di dati di base in programmazione. Quasi ogni linguaggio di programmazione ha una sorta di lista concatenata implementato come libreria, così come molti modi di costruire liste concatenate. Java non fa eccezione. E mentre Java in grado di implementare una lista collegata, aiuta per i programmatori di sapere come funzionano le liste collegate, e che cosa fanno. In questo modo, i programmatori possono capire come modificarli per determinate situazioni o ottimizzare per alcuni sistemi.

nodi

Ogni lista collegata ha come componente di un "nodo", che contiene sia i dati che vengono memorizzati e una variabile che fa riferimento al successivo elemento nella lista. Alcune liste più complessi contengono nodi che fanno riferimento a più altri nodi, ma per la lista di base, il riferimento punti solo al nodo successivo nella lista. I dati memorizzati nella lista possono essere di qualsiasi tipo.

Classe lista collegata

In Java, una lista collegata contiene, come minimo, due classi: la classe lista principale, e una classe nodo. L'esempio seguente illustra questa differenza. In questo elenco, la classe del nodo risiede come un membro privato della classe lista, in modo che solo l'elenco può manipolare nodi. Affinché un utente di aggiungere o rimuovere elementi, deve passare attraverso l'interfaccia di classe:
public class LLIST {

privato Nodo classe statica {
int dati;
Nodo successivo;
}

}

Inserimento nella lista

Ogni lista avrà un metodo di inserimento. Questo metodo avrà un valore di utente, in questo caso un numero intero, e inserire un nodo contenente tale valore lungo l'elenco. Questo significa anche che ogni lista conterrà una semplice variabile che rappresenterà un nodo testa, in modo che la lista sa quando è vuoto o quando l'utente si trova all'inizio della lista:
Nodo principale = null;

insertNode public void (int value) {

Nodo temp = nuovo nodo ();
new.data = valore;

if (testa == null) {
testa = temperatura;
temp.next = null;
}

altro{
corrente Nodo = testa;

while (current.next! = null) {
corrente current.next ==;
}

current.next = temperatura;
temp.next = null;
}

Rimozione Dall'elenco

La rimozione dalla lista è un po 'più complicato. In un elenco semplice, l'utente sarà solo aggiungere sulla fine della lista. Con la rimozione, può rimuovere un nodo dal centro. In questo caso, il programmatore deve garantire che l'elenco rimane coerente assicurandosi che il nodo precedente al nodo rimosso riferisce al nodo dopo nodo rimosso:
removeNode public void (int value) {

if (testa! = null) {
corrente Nodo = head.next;
percorso Nodo = testa;

mentre (corrente! = null && current.data! = value) {
percorso = corrente;
corrente = current.next;
}

se (valore == current.data) {
trail.next = current.next;
corrente = null;
ritorno;
}
else if (null == corrente) {
System.out.println ( "Elemento non in elenco");
ritorno;
}
}
}