Pointer

Hallo, ich poste hier zuerst die Frage und dann meine konkrete Frage:

a) Gegeben ist folgende Klasse, deren Objekte ein anderes Objekt der gleichen Klasse referenzieren können:

class Pointer {

public pointer next = null;

}


Welche Struktur (bitte skizzieren: Objekte = Ovale, Referenzen = Pfeile) entsteht im Speicher durch folgendes Coding:

Pointer p1 = new Pointer() ;

Pointer p2 = new Pointer() ;

p1.next = p2 ;

p2.next = p1 ;


Frage: Ist durch die Zuweisung public pointer next = null der Pointer sinnlos?
Bzw. wie würde die Lösung der Frage aussehen wenn das nicht der Fall wäre?

 
Die Initialisierung von next mit null ist wichtig, wenn du das Ende der Verkettung finden möchtest.
Java:
public class Pointer {
    Pointer next;

    public static void main(String[] args) {
        final Pointer p1 = new Pointer();
        final Pointer p2 = new Pointer();
        final Pointer p3 = new Pointer();

        // p1 -> p2 -> p3
        p1.next = p2;
        p2.next = p3;

        Pointer tail = getTail(p1);

        System.out.println(tail == p3);
    }

    private static Pointer getTail(Pointer head) {
        Pointer p = head;
        while(p.next != null) {
            p = p.next;
        }
        return p;
    }
}
Ich weiß nicht ob die Frage darauf abzielt. Falls ja ist sie blöd gestellt.
Den Aufbau im Speicher würde ich so darstellen:
 
Zuletzt bearbeitet:
Die Initialisierung von next mit null ist wichtig, wenn du das Ende der Verkettung finden möchtest.
Java:
public class Pointer {
    Pointer next;

    public static void main(String[] args) {
        final Pointer p1 = new Pointer();
        final Pointer p2 = new Pointer();
        final Pointer p3 = new Pointer();

        // p1 -> p2 -> p3
        p1.next = p2;
        p2.next = p3;

        Pointer tail = getTail(p1);

        System.out.println(tail == p3);
    }

    private static Pointer getTail(Pointer head) {
        Pointer p = head;
        while(p.next != null) {
            p = p.next;
        }
        return p;
    }
}
Ich weiß nicht ob die Frage darauf abzielt. Falls ja ist sie blöd gestellt.
Den Aufbau im Speicher würde ich so darstellen:

Sehr gute Grafik vielen Dank! 🙂
 

Zurück
Oben