Hallo ,
hab ein Aufgabenblatt mit folgender Fragestellung, sitze schon den ganzen Tag dran, aber bin echt noch nicht so weit das zu lösen, muß aber morgen testieren lassen und brauche die Lösung um zur Klausur zugelassen zu werden !
Ich wäre euch super dankbar, wenn Ihr mir einen Tipp geben könntet!!!
Folgende Fragestellung:
Datentyp Ring
Betrachten sie folgende Modifikation der Liste:
Stellen sie sich eine doppelt verkettete Liste vom Typ Item vor, die an den Enden "zusammengeklebt" ist. Man hat also keine Liste mehr, sondern einen doppelt verketteten Ring mit einem Item das als oldest deklariert ist, also das älteste Item im Ring ist.
Definieren sie eine Klasse Ring unter Verwendung der unten angegebenen Klasse Item. Implementieren sie die Einfügeoperation void Ring.insert(Item i) die ein neues Item in den Ring einfügt, und die Entfernungsoperation Item Ring.extract(Item i) die das älteste Item aus dem Ring entfernt und zurück liefert.
Die Klasse sollte außerdem eine Variable haben die die momentane Anzahl von Items enthält.
und das Klassengerüst:
hab ein Aufgabenblatt mit folgender Fragestellung, sitze schon den ganzen Tag dran, aber bin echt noch nicht so weit das zu lösen, muß aber morgen testieren lassen und brauche die Lösung um zur Klausur zugelassen zu werden !
Ich wäre euch super dankbar, wenn Ihr mir einen Tipp geben könntet!!!
Folgende Fragestellung:
Datentyp Ring
Betrachten sie folgende Modifikation der Liste:
Stellen sie sich eine doppelt verkettete Liste vom Typ Item vor, die an den Enden "zusammengeklebt" ist. Man hat also keine Liste mehr, sondern einen doppelt verketteten Ring mit einem Item das als oldest deklariert ist, also das älteste Item im Ring ist.
Definieren sie eine Klasse Ring unter Verwendung der unten angegebenen Klasse Item. Implementieren sie die Einfügeoperation void Ring.insert(Item i) die ein neues Item in den Ring einfügt, und die Entfernungsoperation Item Ring.extract(Item i) die das älteste Item aus dem Ring entfernt und zurück liefert.
Die Klasse sollte außerdem eine Variable haben die die momentane Anzahl von Items enthält.
Code:
public class Item {
protected Item next = null;
protected Item prev = null;
public Object data = null;
public Item(Object o) {
this.data = o;
}
}
und das Klassengerüst:
Code:
public class Ring {
private int size = 0;
private Item oldest;
[...]
public void insert(Item i) {
[...]
}
public Item extract() {
[...]
}
}