Hallo,
habe nächste woche ne klausur und ich versteh das folgende stück quellcode einer Methode "push" aus einer Klasse "Ring" (doppeltverkettete liste) nicht richtig.
Also ich schreibe jetzt mal hinter jede Zeile was ich glaube was sie macht 🙂
Wäre super wenn mir jemand helfen könnte bzw. es korrigiert
MfG
habe nächste woche ne klausur und ich versteh das folgende stück quellcode einer Methode "push" aus einer Klasse "Ring" (doppeltverkettete liste) nicht richtig.
Also ich schreibe jetzt mal hinter jede Zeile was ich glaube was sie macht 🙂
Wäre super wenn mir jemand helfen könnte bzw. es korrigiert
Code:
public void push( RingObject element ) throws RingFull {
if ( numberElements > size -1 ) throw new RingFull(); // anzahl der elemente müssen > als die verfügbare größe -1 sein
if ( start == null ) { // wenn kein erstes Element existiert
start = end = new Node(); //da kein erstes Element existiert ist der Start = Ende = neuer Knoten der eingefügt wird
start.element = element; // verstehe ich nicht
start.backward = start.forward = start; // verstehe ich nicht
} else { // Anfuegen eines neuen Knoten am Anfang "start") des Rings
Node tempNode = new Node(); // verstehe ich nicht
tempNode.element = element; // verstehe ich nicht
tempNode.backward = start; // verstehe ich nicht
tempNode.forward = end; // ist ab hier bis
start.forward = tempNode;
start = tempNode;
end.backward = start; // hier die doppelte verkettung?
} // if ..else
numberElements++;
} // push( int )
MfG