0
/ 1.0
Consider the following class definitions:
public class LinkedChain<T> { private Node<T> firstNode; private int...
Consider the following class definitions:
public class LinkedChain<T> {
private Node<T> firstNode;
private int numberOfEntries;
public LinkedChain() {
firstNode = null;
numberOfEntries = 0;
}// end default constructor
public Node<T> getfirstNode() {
return firstNode;
}
public int getNumberOfEntries() {
return numberOfEntries;
}
public void push(T newEntry) {
// TODO Auto-generated method stub
firstNode = new Node<T>(newEntry, firstNode);
numberOfEntries++;
}
}
Where Node is defined as:
public class Node<T> {
private T data; // Entry in bag
private Node<T> next; // Link to next node
public Node(T dataPortion) {
this(dataPortion, null);
} // end constructor
public Node(T dataPortion, Node<T> nextNode) {
data = dataPortion;
next = nextNode;
} // end constructor
public T getData() {
if (data != null) {
return data;
}
return null;
}
public Node getNext() {
return next;
}
public void setNext(Node<T> newNext) {
next = newNext;
}
}
Below, write a Linked Chain method that will take in a reference to a node in the chain as a parameter and make that node the new head and wrap the list around.
For example, if the linked chain looked like this:
A --> B --> C --> D --> E --> F
and the parameter was:
desiredNode = the node containing E
this method would change the chain to:
E --> F --> A --> B --> C --> D
If the node referenced is null or not in the linked chain, the code should not alter the linked chain.
Your feedback will appear here when you check your answer.