Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Eine zyklische Listenstruktur, die sich erst zum Zyklus verbindet, sobald die
- * maximal erlaubte Anzahl an Elementen erreicht wurde
- *
- * @author Team OOPM 1415
- *
- */
- public class CycleList {
- private CycleListElement first;
- private CycleListElement last;
- public int maxLength;
- public int actualLength;
- /**
- * Konstruktor der zyklischen Liste
- *
- * @param maxLength
- */
- public CycleList(int maxLength) {
- this.maxLength = maxLength;
- actualLength = 0;
- first = null;
- last = first;
- }
- /*
- * TO DO: Implementieren Sie zunächst getter und setter
- */
- public void setFirst(CycleListElement newfirst) {
- newfirst.setNext(first);
- first = newfirst;
- if (first.getNext() == null)
- last = first;
- actualLength++;
- }
- public CycleListElement getFirst() {
- return first;
- }
- public void setLast(CycleListElement newLast) {
- if (last == null)
- first = newLast;
- else
- last.setNext(newLast);
- last = newLast;
- actualLength++;
- }
- public CycleListElement getLast() {
- return last;
- }
- /*
- * TO DO: Implementieren Sie nun eine add Funktion, welche berücksichtigt,
- * dass ein Erreichen der maximalen Größe dazu führt, dass das letzte
- * Element auf das erste zeigt.
- */
- public void add(CycleListElement elem) {
- if (actualLength < maxLength) {
- setFirst(elem);
- if (actualLength == maxLength) {
- last.setNext(first);
- }
- }
- }
- /*
- * TO DO: Implementieren Sie nun eine deleteFirst Funktion. Diese soll
- * berücksichtigen, dass das Entfernen des ersten Elements Auswirkung auf
- * die momentane Länge und ggf. den zyklischen Zustand hat.
- */
- public void deleteFirst() {
- if (actualLength == maxLength) {
- if (last != null) {
- last.setNext(null);
- }
- if (first != null) {
- last = first.getNext();
- actualLength--;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement