
**Use the Stack interface to implement the LinkedStack.java class.
Stack.java
public interface Stack<E> {
/**
* Push an element onto the stack.
*
* @param element, a value to be pushed on the stack
*/
public void push(E element);
/**
* Pop the top element off the stack.
*/
public E pop();
/**
* Return the top element on the stack.
*/
public E top();
/**
* Return True if the stack contains no elements.
*
* @return true if there are no elements in the stack
*/
public boolean isEmpty();
}
***In LinkedStack.java, change only The methods with empty bodies Do not use a sentinel node. In this implementation you use an inner class That is, a class that is declared inside of another class. The Node class isn't needed by any other class, so it is declared as a private class inside the LinkedStack class. The Node class has two fields: element and next. Things to note in the class LinkedStack: The EmptyStackExceptionis being used, same as in the ArrayStack. The class StringJoineris imported for use in the toString()
LinkedStack.java
import java.util.EmptyStackException;
import java.util.StringJoiner;
public class LinkedStack<E> implements Stack<E> {
private class Node {
public E element;
public Node next;
public Node(E element) {
this(element, null);
}
public Node(E element, Node next) {
this.element = element;
this.next = next;
}
}
private Node top;
/**
* Constructor for objects of class LinkedStack
*/
public LinkedStack() {
}
@Override
public void push(E element) {
// Complete this method
}
@Override
public E pop() {
// Complete this method
}
@Override
public E top() {
// Complete this method
}
@Override
public boolean isEmpty() {
// Complete this method
}
@Override
public int size() {
// Complete this method
}
@Override
public String toString() {
StringJoiner joiner = new StringJoiner(", ", "[", "]");
for (Node current = top; current != null; current = current.next) {
joiner.add(current.element.toString());
}
return joiner.toString();
}

Trending nowThis is a popular solution!
Step by stepSolved in 2 steps with 1 images

- Modify the Java class for the abstract stack type shown belowto use a linked list representation and test it with the same code thatappears in this chapter. class StackClass {private int [] stackRef;private int maxLen,topIndex;public StackClass() { // A constructorstackRef = new int [100];maxLen = 99;topIndex = -1;}public void push(int number) {if (topIndex == maxLen)System.out.println("Error in push–stack is full");else stackRef[++topIndex] = number;}public void pop() {if (empty())System.out.println("Error in pop–stack is empty"); else --topIndex;}public int top() {if (empty()) {System.out.println("Error in top–stack is empty");return 9999;}elsereturn (stackRef[topIndex]);}public boolean empty() {return (topIndex == -1);}}An example class that uses StackClass follows:public class TstStack {public static void main(String[] args) {StackClass myStack = new StackClass();myStack.push(42);myStack.push(29);System.out.println("29 is: " + myStack.top());myStack.pop();System.out.println("42 is:…arrow_forwardStack, Queue and Deque5.1. Understand the basic operations for Stack, Queue and DequeExample: Suppose that Queue q is implemented by a circular array data with the size 3. Please drawthe state of the Queue q and circular array data after each of the following steps.1) Queue q = new Queue();2) q.enqueue(5);3) q.enqueue (2);4) q.enqueue (9);arrow_forwardexamine a very simple task: reversing a word. When you run the program, it asks you to type in a word. When you press Enter, it displays the word with the letters in reverse order. A stack is used to reverse the letters. First the characters are extracted one by one from the input string and pushed onto the stack. Then they’re popped off the stack and displayed. Because of its last-in-first-out characteristic, the stack reverses the order of the characters.arrow_forward
- In this problem you will need to delete the middle element left middle element of the provided stack and return the stack new Stack. import java.util.Stack;public class DeleteMiddleOfStack{public static Stack solution(Stack stack){// ↓↓↓↓ your code goes here ↓↓↓↓return new Stack<>();}}arrow_forwardjava dont use others answers please follow thw istructions on the photo Thank you!!!arrow_forwardAssume class MyStack implements the following StackGen interface. For this question, make no assumptions about the implementation of MyStack except that the following interface methods are implemented and work as documented. Write a public instance method for MyStack, called interchange(T element) to replace the bottom "two" items in the stack with element. If there are fewer than two items on the stack, upon return the stack should contain exactly two items that are element.arrow_forward
- Project Overview: This project is for testing the use and understanding of stacks. In this assignment, you will be writing a program that reads in a stream of text and tests for mismatched delimiters. First, you will create a stack class that stores, in each node, a character (char), a line number (int) and a character count (int). This can either be based on a dynamic stack or a static stack from the book, modified according to these requirements. I suggest using a stack of structs that have the char, line number and character count as members, but you can do this separately if you wish.Second, your program should start reading in lines of text from the user. This reading in of lines of text (using getline) should only end when it receives the line “DONE”.While the text is being read, you will use this stack to test for matching “blocks”. That is, the text coming in will have the delimiters to bracket information into blocks, the braces {}, parentheses (), and brackets [ ]. A string…arrow_forwardNeed help with python code. Write a LikedStack . Test it by: Add numbers from 7 to 22 in the stack. Print the length of the stack Check if the stack is empty Show the item on the top of the stack Remove the last item in the stack Add 45 to the stack Remove all items in the stack Check if the stack is empty """File: linkedstack.pyAuthor: Ken Lambert"""from node import Nodefrom abstractstack import AbstractStackclass LinkedStack(AbstractStack):"""A link-based stack implementation."""# Constructordef __init__(self, sourceCollection = None):"""Sets the initial state of self, which includes thecontents of sourceCollection, if it's present."""# Accessor methodsdef __iter__(self):"""Supports iteration over a view of self.Visits items from bottom to top of stack."""def visitNodes(node):"""Adds items to tempList from tail to head."""def peek(self):"""Returns the item at the top of the stack.Precondition: the stack is not empty.Raises: KeyError if the stack is empty."""if self.isEmpty():#…arrow_forwardhow to create an interface in java that contains the following methods: boolean myPush(T element); // pushes element onto the stack; returns true if element successfully pushed, false otherwise boolean myPop(); // removes the top element of the stack; returns true if element successfully popped, false otherwise T myTop(); // if the stack is not empty returns the top element of the stack, otherwise returns null String toString(); // returns contents of the stack as a single String int size(); // return number of elements in the stack then create java file that Implements your interface that you created as a linked stack, then use the driver shown in screen shot to test. below is the code for the LLNode class public class LLNode<T> { protected LLNode<T> link; protected T info; public LLNode(T info) { this.info = info; link = null; } public void setInfo(T info) { this.info = info; } public T getInfo() { return info; } public void setLink(LLNode<T> link) {…arrow_forward
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education





