Freiwillige_Uebung/LinearList.java

111 lines
2.2 KiB
Java
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/*
* 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 <20>berhaupt ein erstes Element?
first = first.next;
}
public int getFirst() {
// liefert das erste Element der Liste zur<75>ck
int result = 0;
// wenn es <20>berhaupt ein erstes Element gibt
if (first != null)
// dann wird der Inhalt (Wert) zur<75>ckgeliefert
result = first.content;
// ansonsten der Zeichenwert 0
return result;
}
public int getLast() {
// liefert das letzte Element der Liste zur<75>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<75>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
}
}