Subato

Resource Files

Listen - Mystery

Gegeben sei eine einfach verkettete Liste mit separaten Knoten für head und tail. Die folgende Methode wird auf der Liste ausgeführt und erhält zwei Knoten.

	public void mystery(Node node1, Node node2) {
		Node prev1 = head, prev2 = head;
		Node succ1 = head, succ2 = head;
		while (prev1.next != node1) 
			prev1 = prev1.next;
		while (prev2.next != node2)
			prev2 = prev2.next;
		while (node1.next != succ1)
			succ1 = succ1.next;
		while (node2.next != succ2)
			succ2 = succ2.next;
		node1.next = succ2;
		node2.next = succ1;
		prev1.next = node2;
		prev2.next = node1;
	}
  • Was bewirkt die Methode? Skizzieren Sie einen Durchlauf und schlagen Sie einen passenden Namen vor.
  • Beschreiben Sie zwei Randfälle in denen die Methode nicht wie erwartet funktioniert, und schlagen Sie jeweils einen Bugfix vor.


You are not logged in and therefore you cannot submit a solution.