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 and a data value and add a new node containing that data value after the node referenced. For example
For example, if the linked chain looked like this:
A --> B --> C --> D
and the parameters were:
desiredNode = the node containing B
value = K
this method would change the chain to:
A --> B --> K --> C --> D
If the desiredNode is null then add the new node at the beginning. If the value is null then the list remains unchanged. If the list is empty then add one new node as appropriate. Remember to update the numberOfEntries variable!
Your feedback will appear here when you check your answer.