/** * Beschreiben Sie hier die Klasse List. * * @author (Ihr Name) * @version (eine Versionsnummer oder ein Datum) */ public class List<T> { public Node<T> first; public List(){ } public void einfuegen (T neu) { Node<T> n = new Node<T>(neu);//Neue Node mit Zahl "neu " anlegen //Überprüfe ob die liste leer ist if(first == null){ //setze neue node als erster Eintrag first = n; } else { Node<T> current = first; while(current.next != null){ current = current.next; } current.setNext(n); } //current ist jetzt der letzte Eintrag //setze neue Node als Nachfolger von bisher letztem Eintrag } public int laenge(){ Node current = first; int laenge = 0; while(current != null){ current = current.next; laenge++; } return laenge; } public T getNteZahl(int n){ Node<T> current = first; for(int i = 0; i<n; i++){ current = current.next; } return current.wert; } public void loesche(int n){ Node<T> current = first; //gehe an den Vorgänger des zu löschenden Eintrags for(int i=0; i<n-1; i++){ current = current.next; } //setze Übernächsten Eintrag als Nachfolger current.next = current.next.next; } public void hinzufügen(int n, T wert){ Node<T> neu = new Node<T>(wert); if(n==0){ //setze Nachfolger auf bisherigen Stand neu.setNext(first); //setze neuen Start auf neuen first = neu; }else{ Node<T> current = first; //gehe an den Vorgänger des zu löschenden Eintrags for(int i=0; i<n-1; i++){ current = current.next; } //setze Übernächsten Eintrag als Nachfolger current.next = current.next.next; } } }