verkettete Listen

Nummer6800

Aktives Mitglied
Hier handelt es sich um eine einfach verkettete Liste. Wo man verschiedene Methoden ausfuehren kann.


l.insert(new Node(1)); Methode insert aus Class List wird benutzt. Node n wird erwartet Parameter eins wird uebergeben.

Aber Klasse Node hat zwei Konstruktoren. Dann wird der Erste genommen. Wegen dem Node n. Aber woher wird dann das next = n im Konstruktor geliefert?

Aus den Variablen ganz oben in Klasse Node? Jedenfalls wird doch bei l.insert(new Node(1)); nur das element = 1 uebergeben?



Java:
// l.insert(new Node(1)); Methode insert aus Class List wird benutzt. Node n wird erwartet
// Parameter eins wird uebergeben.
// Aber Klasse Node hat zwei Konstruktoren. Dann wird der Erste genommen. Wegen dem Node n. Aber woher wird dann das next = n im Konstruktor geliefert?
// Aus den Variablen ganz oben in Klasse Node? Jedenfalls wird doch bei l.insert(new Node(1)); nur das element = 1 uebergeben?



public class TestList {

    public static void main(String args[]) {

        List l;

        
// neue Liste

        l = new List();

// alloziere Knoten
// ! Hier ist der Punkt den ich nicht verstehe

        l.insert(new Node(1));

        l.insert(new Node(4));

        l.insert(new Node(5));

        l.insert(new Node(2));

        

        l.dump();

        

        l.delete(5);

        

        l.dump();

    }

}




public class Node {

    public int   element = 0;

    public Node  next    = null;

    
// Konstruktor 1

    public Node(int e, Node n) {

        element = e;

        next    = n;

    }

// Konstruktor 2

    public Node(int e) {

        element = e;

    }

}





public class List {

    public Node head;

    

// am Kopf einfuegen Methode insert

    public void insert(Node n) {

        n.next = head;

        head   = n;

    }

    

    public void delete(int key) {

        Node current = head;

        

        if (head.element == key) {

            head = head.next;

            return ;

        }

        

        while (current.next!=null) {

            if (current.next.element==key)

                current.next = current.next.next;

            current = current.next;

        }

    }

    

    public Node search(int key) {

        Node current = head;

        

        while (current!=null) {

            if (current.element==key)

                return current;

            current = current.next;

        }

        return current;

    }



    public void dump() {

        Node current = head;

        

        System.out.println("dumping list");

        while (current!=null) {

            System.out.println("   element: "+current.element);

            current = current.next;

        }

    }

    

}
 

Joose

Top Contributor
Aber woher wird dann das next = n im Konstruktor geliefert?

Aus den Variablen ganz oben in Klasse Node? Jedenfalls wird doch bei l.insert(new Node(1)); nur das element = 1 uebergeben?

Die Klasse Node bietet dir 2 verschiedene Konstruktoren an.
Warum sollte er Konstruktor 1 verwenden?
Wie müsste der Aufruf für Konstruktor 1 bzw. 2 ausschauen?
 
Zuletzt bearbeitet:

Nummer6800

Aktives Mitglied
Danke Fuer die Antwort.

Aber dann benutzt er Konstruktor 2. Da wird nur int angeboten.

Aber Methode insert verlangt doch vom Typ Node n.

Und ausserdem brauche ich doch einen Konstruktor der mir "next" liefert.
Sonst funktioniert doch insert Methode nicht.

Konstruktor 1
wird mit Typ vom Node gerufen
und ein element von int

Konstruktor 2
da reicht ein Element vom Typ int

P.S.
Es ist keine Hausaufgabe. Also gelten keine Forenregeln fuer Hausaufgaben.
 

Tarrew

Top Contributor
Der 2. Konstruktur wird also mit:
Java:
l.insert(new Node(1));
aufgerufen, da nur ein int übergeben wird.

Und ein "Node" sieht ja so aus:
Java:
public class Node {
 
    public int   element = 0;
 
    public Node  next    = null;
}
Wenn jetzt der 2. Konstruktor aufgerufen wird, dann wird das int element geändert.
Nur weil das "next" im Konstuktor nicht genutzt wird, heißt das nicht, dass es nicht existiert. Es ist immer noch ein Attribut des Objekts. Es bleibt eben nur erstmal null.

Java:
public void insert(Node n) {
 
        n.next = head;
 
        head   = n;
 
    }
Das next wird ja dann in der insert-Methode geändert. Vorher war es nur null.

Der 1. Konstuktur kann zB nützlich sein, wenn du Knoten in der Mitte deiner Liste einfügen willst und nicht am head.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Einfach-Verkettete-Listen Ausgabe zeigt nur 1. und letzte instanz Java Basics - Anfänger-Themen 2
V einfach verkettete Listen Java Basics - Anfänger-Themen 10
A Was könnten typische Prüfungsaufgaben zum Thema lineare, verkettete Listen sein? Java Basics - Anfänger-Themen 5
M verkettete Listen Java Basics - Anfänger-Themen 1
V Methoden Verkettete Listen Index eines Elementes ausgeben Java Basics - Anfänger-Themen 10
D Collections Verkettete Listen und Fußball... Java Basics - Anfänger-Themen 11
S Verkettete Listen Java Basics - Anfänger-Themen 10
S Verkettete Listen in Java Java Basics - Anfänger-Themen 11
C Methoden Verkettete listen - next methode Java Basics - Anfänger-Themen 3
I verkettete listen Java Basics - Anfänger-Themen 12
K verkettete Listen - Klasse Knoten Java Basics - Anfänger-Themen 19
U Verkettete Listen Java Basics - Anfänger-Themen 13
M Probleme mit verkettete Listen Java Basics - Anfänger-Themen 4
M verkettete Listen Java Basics - Anfänger-Themen 39
T Klasse in Java für doppelt verkettete Listen Java Basics - Anfänger-Themen 4
I verkettete listen Java Basics - Anfänger-Themen 5
H Doppelt verkettete Listen Java Basics - Anfänger-Themen 2
S doppelt verkettete Listen Java Basics - Anfänger-Themen 4
X Vererbung: Doppelt verkettete Listen Java Basics - Anfänger-Themen 16
M Verkettete Liste Java Basics - Anfänger-Themen 1
H Java verkettete Liste, Wert eines Index zurückgeben Java Basics - Anfänger-Themen 1
Igig1 Autoparkplatz verkettete Liste erstes und letztes Auto Java Basics - Anfänger-Themen 13
R Rückgabe: verkettete Liste Java Basics - Anfänger-Themen 2
R einfach verkettete Liste Java Basics - Anfänger-Themen 1
R einfach verkettete Liste Java Basics - Anfänger-Themen 12
B Verkettete Liste durchgehen und einzelne Elemente in neue Liste tun Java Basics - Anfänger-Themen 9
B Bin komplett am verzweifeln :( Verkettete Liste die Objekte hat Attribut auslesen Java Basics - Anfänger-Themen 14
Y Einfügen in eine doppelt verkettete Liste Java Basics - Anfänger-Themen 8
A Doppelt verkettete Liste rückwärts ausgeben Java Basics - Anfänger-Themen 17
D Doppelt Verkettete Zirkular-Liste Java Basics - Anfänger-Themen 1
A Verkettete Liste Java Basics - Anfänger-Themen 2
B Doppelt verkettete Liste implementieren Java Basics - Anfänger-Themen 8
L verkettete Liste Java Basics - Anfänger-Themen 15
scratchy1 doppelt verkettete Liste testen Java Basics - Anfänger-Themen 8
R Methoden Entferne alle identische Knoten (Typ String) aus verkettete Liste Java Basics - Anfänger-Themen 8
C Methoden Über eine einfach verkettete Liste Java Basics - Anfänger-Themen 8
H Verkettete Liste Java Basics - Anfänger-Themen 7
N Verkettete liste rückwärts ausgeben Java Basics - Anfänger-Themen 18
K Verkettete Liste und seine Methoden Java Basics - Anfänger-Themen 1
N Verkettete Liste implementieren Java Basics - Anfänger-Themen 5
O Einfach verkettete Liste - Revert Methode Java Basics - Anfänger-Themen 1
G Verkettete Liste - Neu erzeugte Elemente werden nicht ausgegeben Java Basics - Anfänger-Themen 5
S Einfach verkettete Liste Element an bestimmter Position einfügen Java Basics - Anfänger-Themen 24
B Doppelt Verkettete Liste - Ist alles gut so? Java Basics - Anfänger-Themen 3
C Verkettete Liste - sortiert einfügen Java Basics - Anfänger-Themen 7
R Erste Schritte Verkettete Liste will einfach nicht in meinen Schädel Java Basics - Anfänger-Themen 11
B in einem abstrakten Set ,Elemente einer einfache verkettete List epeichern Java Basics - Anfänger-Themen 13
U Datentypen Doppelt verkettete Liste implementieren Java Basics - Anfänger-Themen 13
J Methoden Doppelt verkettete Liste remove(Object) Java Basics - Anfänger-Themen 8
B OOP Über eine doppelt verkettete Liste iterieren Java Basics - Anfänger-Themen 4
hooked Verkettete Liste / linked list Java Basics - Anfänger-Themen 2
L Doppelt verkettete Liste Java Basics - Anfänger-Themen 6
J Eine Art verkettete Liste aber mit teils mehr als einem Nachfolger Java Basics - Anfänger-Themen 8
V Verkettete Liste rückwärts ausgeben Java Basics - Anfänger-Themen 3
R doppelt verkettete Liste aus Arrays erstellen Java Basics - Anfänger-Themen 1
K Einfach Verkettete Liste - addFirst() Java Basics - Anfänger-Themen 7
G 2 Aufgabe rund um eine verkettete Liste Java Basics - Anfänger-Themen 2
O Verkettete Liste Java Basics - Anfänger-Themen 10
E Methoden auf von Methoden erstellte Objekte zugreifen (verkettete Liste) Java Basics - Anfänger-Themen 10
X Einfach verkettete Liste, keine Fehlermeldung Programm friert ein Java Basics - Anfänger-Themen 4
S Doppelt verkettete Liste Java Basics - Anfänger-Themen 3
G Doppelt Verkettete Liste Java Basics - Anfänger-Themen 2
A Doppelt Verkettete Liste Java Basics - Anfänger-Themen 16
E doppelt verkettete liste Java Basics - Anfänger-Themen 10
V Verkettete Liste. Java Basics - Anfänger-Themen 7
X Einfach Verkettete Liste Java Basics - Anfänger-Themen 16
K Verkettete Liste - Methode entwerfen Java Basics - Anfänger-Themen 14
S Verkettete Liste rückwärts ausgeben Java Basics - Anfänger-Themen 12
B Insertionsort verkettete Liste Java Basics - Anfänger-Themen 4
B Stack in eine verkettete Liste pushen Java Basics - Anfänger-Themen 4
R verkettete liste ansEndeSchieben Java Basics - Anfänger-Themen 13
T Verkettete Liste Java Basics - Anfänger-Themen 14
A Klassen Innere Klassen, verkettete Liste Java Basics - Anfänger-Themen 9
B Zweifach-verkettete Liste umkehren Java Basics - Anfänger-Themen 6
X verkettete Liste Java Basics - Anfänger-Themen 13
E Datentypen Doppelt verkettete Liste Java Basics - Anfänger-Themen 10
P Einfügen in doppelt verkettete Liste Java Basics - Anfänger-Themen 7
kae verkettete Liste Java Basics - Anfänger-Themen 5
S Queue als doppelt verkettete Liste Java Basics - Anfänger-Themen 2
S Stack als verkettete liste/ toString methode Java Basics - Anfänger-Themen 3
B OOP Verkettete Liste Java Basics - Anfänger-Themen 7
R verkettete liste Java Basics - Anfänger-Themen 5
M Verkettete Liste Java Basics - Anfänger-Themen 4
M verkettete liste Java Basics - Anfänger-Themen 7
N doppelt verkettete liste einfügen Java Basics - Anfänger-Themen 7
K Datentypen Einfach/Doppelt verkettete Liste Java Basics - Anfänger-Themen 4
N einfach verkettete liste fehler Java Basics - Anfänger-Themen 5
N einfach verkettete liste Java Basics - Anfänger-Themen 3
G verkettete Liste - invertieren Java Basics - Anfänger-Themen 2
B OOP Einfach verkettete Liste - rekursive Methoden Java Basics - Anfänger-Themen 1
B verkettete Liste Java Basics - Anfänger-Themen 8
S zyklisch verkettete Liste erstellen Java Basics - Anfänger-Themen 3
S einfach verkettete Liste Java Basics - Anfänger-Themen 19
O Stack Implementierung als verkettete Liste Java Basics - Anfänger-Themen 8
W Doppelt verkettete Liste implementieren Java Basics - Anfänger-Themen 2
T Einfach verkettete Liste: Wie Elemente löschen? Java Basics - Anfänger-Themen 4
J verkettete Liste Java Basics - Anfänger-Themen 2
D Einfach verkettete Liste Java Basics - Anfänger-Themen 20
DasDogma Verkettete Liste - Element löschen Java Basics - Anfänger-Themen 2
H Verkettete Liste Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben