/* * Created on 21.11.2003 * * To change the template for this generated file go to * Window>Preferences>Java>Code Generation>Code and Comments */ /** * @author klaus * * To change the template for this generated type comment go to * Window>Preferences>Java>Code Generation>Code and Comments */ public class LinearList { // Referenz auf das erste Element public ListElement first; public void addFirst(int value) { // f�gt am Kopf der Liste ein neues Element ein ListElement n = new ListElement(); n.content = value; n.next = first; first = n; } public void removeFirst() { // entfernt das erste Element der Liste if (first != null) // gibt es �berhaupt ein erstes Element? first = first.next; } public int getFirst() { // liefert das erste Element der Liste zur�ck int result = 0; // wenn es �berhaupt ein erstes Element gibt if (first != null) // dann wird der Inhalt (Wert) zur�ckgeliefert result = first.content; // ansonsten der Zeichenwert 0 return result; } public int getLast() { // liefert das letzte Element der Liste zur�ck int result = 0; ListElement n = first; while (n != null) { // solange Elemente da sind, Inhalt (Wert) merken // Am Ende der Schleife steht dort der Wert des // letzten Elementes result = n.content; n = n.next; } // War die Liste leer wird der Zeichenwert 0 zur�ckgeliefert return result; } public boolean isEmpty() { // Test, ob die Liste leer ist return (first == null); } public int size() { // L�nge der Liste ermitteln int counter = 0; ListElement n = first; while (n != null) { counter++; n = n.next; } return (counter); } public void output() { // Ausgabe des Inhalts der Liste auf der Konsole ListElement n = first; System.out.print("\n( "); while (n != null) { System.out.print(n.content + " "); n = n.next; } System.out.println(")"); } public LinearList deepClone() { // legt rekursiv eine "echte" Kopie der linearen // Liste an – d.h. nach dem Aufruf existieren zwei // lineare Listen identischen Inhalts. // Der Rückgabewert ist eine Referenz auf das // neu angelegte Listenobjekt } }