Verkettete Listen sind grundlegende Datenstrukturen in der Programmierung. Fast jeder Programmiersprache hat eine Art von verketteten Liste als Bibliothek implementiert , sowie viele Möglichkeiten, um verkettete Listen zu konstruieren. Java ist keine Ausnahme. Und während Java eine verlinkte Liste umsetzen können , hilft es für Programmierer , wie verkettete Listen Arbeit und wissen was sie tun . Auf diese Weise können Programmierer verstehen, wie sie für bestimmte Situationen zwicken oder optimieren sie für bestimmte Systeme . Nodes
Jede verkettete Liste hat als Bestandteil einen " Knoten ", die sowohl die Daten gespeichert werden und eine Variable , die auf das nächste Element in der Liste enthält. Einige komplexere Listen enthalten Knoten , die auf mehrere andere Knoten , sondern auch für die grundlegende Liste , die nur als Referenz verweist auf den nächsten Knoten in der Liste. . Die Daten in der Liste gespeichert sind, können von jeder Art
Linked List Class
Java sein , wird eine verkettete Liste enthalten , in mindestens zwei Klassen : die Haupt- Liste Klasse und ein Knoten -Klasse. Das folgende Beispiel veranschaulicht diesen Unterschied . In dieser Liste befindet sich der Knoten der Klasse als privates Mitglied der Liste Klasse , so dass nur die Liste können Knoten zu manipulieren. Um für einen Benutzer hinzuzufügen oder zu entfernen Elemente , sie muss durch die Klasse gehen Schnittstelle : public class LLIST { ; Node next ;
private static class Node { int data }
}
Einfügen in die Liste
Jede Liste muss eine Insertion -Methode. Dieses Verfahren wird einen Nutzwert in diesem Fall eine ganze Zahl , und Einfügen eines Knotens mit diesem Wert auf der Liste. Dies bedeutet auch, dass jede Liste wird eine einfache Variable, die einen Kopf Knoten repräsentieren enthalten , so dass die Liste, wenn es leer ist oder wenn sich der Benutzer am Anfang der Liste kennt : Node head = null;
public void InsertNode (int value) {
Node Temp = new Node ( ); new.data = Wert;
if ( head == null) { head = temp; temp.next = null;} else {
Node current = Kopf ;
while ( current.next = null ) { aktuelle == current.next ;}
current.next = temp; temp.next = null;}
Entnahme aus der Liste
Entfernen aus der Liste ist ein wenig komplizierter. In einer einfachen Liste , wird der Benutzer nur auf das Ende der Liste hinzuzufügen. Mit Entfernen kann sie entfernen Sie einen Knoten aus der Mitte. In diesem Fall muss der Programmierer sicherstellen, dass die Liste kohärenten , indem sichergestellt wird der Knoten zurück zum entfernten Knoten verweist auf den Knoten nach dem Knoten entfernt bleibt : public void removeNode (int value) {
if ( Kopf! = null) { Node current = head.next ; Node trail = Kopf ;
while ( current = null && current.data = value ) { trail = current ; ! current = current.next ; }
if ( current.data == value) { trail.next = current.next ; Strom = null; return;} else if (aktuell == null ) {System.out.println ( "Element nicht in Liste "); return;} }}