Hvordan slette en node i Link Systems i Java

Koblede lister er en grunnleggende datastruktur som brukes til å lagre data. De er perfekt for situasjoner der en ukjent mengde data kommer til å bli lagret: listen tillater bare programmerer å dynamisk allokere minne til slutten av listen og lage en "kjede" av objekter som er koblet til hverandre. Den utfordrende delen kommer når en av disse nodene må slettes fra et sted i midten av listen uten kjedens blir brutt. I et slikt tilfelle kan du lage to noder til "punkt til" elementene i listen, krypende nedover listen til å finne noden å slette og fjerne den samtidig opprettholde strukturen integritet.

Bruksanvisning

1 Skape en funksjon for å fjerne noden. Funksjonen tar en enkelt heltall som representerer verdien av noden. Denne funksjonen foruts "hodet" node er begynnelsen, og hver node har en "neste" referanse sammen med et enkelt heltall:

public void removeNode (int verdi) {

if (hode == null) {
komme tilbake;
}

Node tracer = new Node ();
Node tracer2 = new Node ();
tracer = tracer2 = hode;

while (tracer.value! = verdi || tracer! = null) {
tracer2 = tracer; // Tracer2 følger alltid tracer
tracer = tracer.next;
}

}

2 Rett node foregående noden som skal slettes til noden følgende noden som skal slettes:

while (tracer.value! = verdi || tracer == null) {
tracer = tracer.next; // Etter mens loop, vil tracer referere til rette node eller ingen node
}

if (tracer! = null) {

tracer2.next = tracer.next;
}

3 Slett node:

if (tracer! = null) {

tracer2.next = tracer.next;
}

tracer = null;