Abzählen mit Pointer

sebi1994

Mitglied
Hallo liebe Gemeinde,

ich hab einige Probleme bei meinen Hausaufgaben.
Es geht um ein Abzählspiel mit n Knoten in einem Kreis, und nacheinander verlässt der m te Knoten den Kreis und der Kreis schließt sich wieder und es geht wieder von vorne los.
Das ganze soll mit einer verketteten zirkulären Liste und einem Pointer/Zeiger implementiert werden.

Dazu soll ich folgende Methoden schreiben, welche ich vorher in einem Interface aufgestellt habe:

void addElement(Object element) : übergebenes Object wird als nachfolger des knotens eingefügt, auf den der pointer zeigt, danach soll der pointer auf eben diesen knoten zeigen.

Object getElement() : soll das Object liefern, auf das der Pointer zeigt.

Object removeNode() : removed den Knoten auf den der Pointer zeigt, gibt dessen Inhaltselement zurück und der pointer bewegt sich auf den Vorgänger des gelöschten Knoten

void movePointer(int m) : bewegt den pointer auf das aktuelle element um m weiter (pointer bleibt bei m<1 unverändert)

int getSize() : soll die anzahl der elemente der liste liefern.

eine Hilfsmethode
Node getPreviousNode(Node node) : sucht den vorgänger des zu übergebenem knoten und gibt diesen zurück

Ich habe schon eine Hilfsklasse im selben Package implementiert:
Java:
public class Node {
	
	private Object element;
	private Node nextNode;
	
	public Node(Object element, Node nextNode) {
		setElement(element);
		
	setNextNode(nextNode);
	}

	public Node() {
		this(null, null);
		
	}
	
	public Object getElement() {
		return element;
	}
	
	public void setElement(Object element) {
		this.element = element;
	}
	
	public Node getNextNode() {
		return nextNode;
	}
	
	public void setNextNode(Node nextNode) {
		this.nextNode = nextNode;
	}
	
	public String toString() {
		return element.toString();
	}
	
	
}

Ich bin ziemlicher Anfänger und komme vorallem mit diesem Zeiger/Pointer überhaupt nicht klar und weiß nicht wie ich diese Methoden schreiben soll.
Hoffe jemand versteht meine Probleme hier..
 
Naja also eig. eine Klasse "Liste" anlegen dort dann alle deine aufgezählten Methoden rein und einen Pointer vom Typ Node. Dann must du nur noch schauen das die letzte Node als Nachfolger die erste hat -> Kreis.
 
Naja also eig. eine Klasse "Liste" anlegen dort dann alle deine aufgezählten Methoden rein und einen Pointer vom Typ Node. Dann must du nur noch schauen das die letzte Node als Nachfolger die erste hat -> Kreis.
Eigentlich ist die gezeigte Klasse "Node" schon nahe an dem, was du vorschlägst - mit dem Problem, dass du "Typ Node" gerade anders verwendest, als der TO vorgegeben hat - das nenn' ich "erfolgreiches Verwirren".

Lieber sebi1994, versuch doch einfach, die verlangten Methoden in deiner Klasse "Node" umzusetzen. Sollte eigentlich machbar sein.
 
Zuletzt bearbeitet:

Zurück
Oben