can someone help me with task 3, ill post my code below for task 2. ------------
ID: 3754734 • Letter: C
Question
can someone help me with task 3, ill post my code below for task 2.
----------------------------------------------------------------------
---------------------------------------------------------------------
Task 1: Imagine a pile of books on your desk. Each book is so large and heavy that you can remove only the top one from the pile. You cannot remove a book from under another one. Likewise, you cannot add a book beneath another one. You can add another book to the pile only by placing it on the top of the pile. If you represent books by their titles alone, design a class that you can use to track the books in the pile on your desk. Specify each operation by stating its purpose, by describing its parameters, and by writing a pseudocode version of its header. Then write a Java interface for the pile's methods. Please follow the code examples in our lecture slides to comment your code. Task 2: Define a class PileOfBooks that implements the interface described in Task 1. Use a resizable array in your implementation. Then write a program that adequately demonstrates your implementation. Task 3: Repeat Task 2, but use a chain of linked nodes instead of an array. Task 4: Using Big Oh notation, indicate the time complexity of each method defined (in Task 2 and Task 3) in the best case and the worst case. Please provide explanations for your answers.Explanation / Answer
public class PileofBooks implements TheStackofBooks { static class Node { T data; Node next; public Node(T data, Node next) { this.data = data; this.next = next; } } private Node books; private int numberofbooks; PileofBooks() { books = null; numberofbooks = 0; } public void addBook(T newBook) { books = new Node(newBook, books); numberofbooks++; } public T removeBook() { if(books == null) { return null; } else { T book = books.data; books = books.next; numberofbooks--; return book; } } public T topBook() { if(books == null) { return null; } else { return books.data; } } public boolean isEmpty() { return books == null; } public void clear() { books = null; numberofbooks = 0; } public int size() { return numberofbooks; } public String toString() { String result=""; Node temp = books; while (temp != null) { result += temp.data + " "; temp = temp.next; } return result; } }Related Questions
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.