|
|
@@ -1,12 +1,30 @@ |
|
|
|
package ab51_zahlenreihe; |
|
|
|
|
|
|
|
/** |
|
|
|
* variable Liste um Zahlenreihen zu speichern |
|
|
|
* |
|
|
|
* @author A. Kimmig |
|
|
|
* |
|
|
|
*/ |
|
|
|
public class List { |
|
|
|
/** |
|
|
|
* Verweis auf den ersten Eintrag bzw. null wenn noch kein |
|
|
|
* Eintrag vorhanden ist |
|
|
|
*/ |
|
|
|
public Node first; |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* Fügt eine neue Zahl zur Liste hinzu, indem zuerst ein Node |
|
|
|
* mit dieser Zahl erstellt wird und dieser Node an die |
|
|
|
* bestehende Liste angehängt wird |
|
|
|
* |
|
|
|
* @param z Zahl, die in die Liste eingetragen werden soll |
|
|
|
*/ |
|
|
|
public void hinzufügen(int z) { |
|
|
|
// Neue Node erstellen |
|
|
|
Node neu = new Node(z, null); |
|
|
|
|
|
|
|
// Hilfsobjekt, um durch die Liste zu gehen |
|
|
|
Node zwischen = first; |
|
|
|
|
|
|
|
// Wenn Liste noch leer |
|
|
@@ -23,33 +41,51 @@ public class List { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// Gibt die Anzahl der Einträge in der Liste zurück |
|
|
|
/** |
|
|
|
* Gibt die Anzahl der Einträge zurück |
|
|
|
* |
|
|
|
* @return Anzahl der Einträge |
|
|
|
*/ |
|
|
|
public int länge() { |
|
|
|
// wenn Liste leer ist |
|
|
|
if(first == null) { |
|
|
|
// gib 0 als Länge zurück |
|
|
|
return 0; |
|
|
|
} |
|
|
|
|
|
|
|
// Hilfsobjekt, um durch Liste zu gehen |
|
|
|
Node zwischen = first; |
|
|
|
// Zähl-Variable |
|
|
|
int count = 0; |
|
|
|
|
|
|
|
// gehe durch die Liste durch |
|
|
|
while(zwischen != null) { |
|
|
|
count++; |
|
|
|
zwischen = zwischen.next; |
|
|
|
} |
|
|
|
|
|
|
|
// gib die gezählte Anzahl zurück |
|
|
|
return count; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Entfernt einen Eintrag aus der Liste und gibt die Zahl, |
|
|
|
* die in diesem Eintrag stand zurück |
|
|
|
* |
|
|
|
* @return Zahl, die entfernt wurde. |
|
|
|
*/ |
|
|
|
public int herausnehmen() { |
|
|
|
if(first == null) { |
|
|
|
return 0; |
|
|
|
} |
|
|
|
|
|
|
|
// Nächster Schüler wird zwischengespeichert |
|
|
|
// erste Zahl der Liste zwischenspeichern |
|
|
|
int zahl = first.zahl; |
|
|
|
|
|
|
|
// Der erste Eintrag wird "verschoben" |
|
|
|
// der erste Eintrag wird "verschoben" |
|
|
|
first = first.next; |
|
|
|
|
|
|
|
// Der zwischengespeicherte Schüler wird zurückgegeben |
|
|
|
// die zwischengespeicherte Zahl wird zurückgegeben |
|
|
|
return zahl; |
|
|
|
} |
|
|
|
} |