// Lösung zur Übung "Letztes Element einer doppelt // verketteten Liste entfernen" public class Uebung_Letztes_Element_Entfernen { // Interne Klasse, gilt nur innerhalb Uebung_Letztes_Element_Entfernen static class Node { String data; Node next; Node prev; // Hier beginnt die Lösung public void entferne_letztes_element() { Node n = this; while(n.next != null) n = n.next; System.out.println("Element " + n.data + " wird entfernt."); n.prev.next = null; } // Hier endet sie. } public static void main(String[] args) { // Um zu testen, erst mal eine Liste aufbauen Node start = new Node(); start.prev = null; start.data="1"; Node aktuell=start; for(int i=2; i<=100; i++) { Node neu = new Node(); neu.next = null; neu.prev = aktuell; neu.data = "" + i; // Zahl eintragen aktuell.next = neu; System.out.println("Neues Element " + i + " erzeugt."); aktuell = aktuell.next; // weiter } // Testaufruf unserer Lösungsfunktion: start.entferne_letztes_element(); start.entferne_letztes_element(); start.entferne_letztes_element(); } }