Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Please document code. 1) A class: public class Stack<T> has only one field, priv

ID: 3630741 • Letter: P

Question

Please document code.

1) A class:
       public class Stack<T>
has only one field,
       private LNode<T> stackPointer;
uses class LNode<T> for nodes and implements a stack as a linked list.

a) Write a push method:
       public void push(T t)
b) Write a pop method:
       public T pop()
    This method will return null if the stack is empty.


The following class is used in problem 1:
Public class LNode<T>
{
private T data;
private LNode<T> next = null;

public LNode(T data)
{
   this.data = data;
}// end of method
 // public get and set methods are here
 // for data and next
}// end of class


Explanation / Answer

// LNode.java public class LNode { private T data; private LNode next = null; public LNode(T data) { this.data = data; }// end of method public T getData() { return data; } public LNode getNext() { return next; } public void setNext(LNode nxt) { next = nxt; } }// end of class //Stack.java public class Stack { private LNode stackPointer ; public Stack() { stackPointer = null; } public void push(T t) { LNode newNode = new LNode(t); if (stackPointer != null) { newNode.setNext(stackPointer); } stackPointer = newNode; } public T pop() { if(isEmpty()) { return null; } LNode popNode = null; if (stackPointer != null) { popNode = stackPointer; stackPointer = stackPointer.getNext(); } return popNode.getData(); } public boolean isEmpty() { return (stackPointer == null); } public void printStack() { System.out.print("stack -> "); LNode curr = stackPointer; while (true) { if (curr == null) { System.out.println("null"); break; } else { System.out.print(curr.getData() + " -> "); curr = curr.getNext(); } } } }