
Concept explainers
linked_list_stack_shopping_list_manager.py This is a file that includes the class of linked list based shopping list manager. This class contains such methods as init, insert_item, is_list_empty, print_item_recursive_from_top, print_items_from_top, print_item_recursive_from_bottom, print_items_from_bottom, getLastItem, removeLastItem. In addition, this class requires the inner class to hold onto data as a linked list based on Stack. DO NOT use standard python library, such as deque from the collections module. Please keep in mind the following notes for each method during implementation: Init(): initializes linked list based on Stack object to be used throughout object life. insert_item(item): inserts item at the front of the linked list based on Stack. Parameters: item name. is_list_empty (): checks if the current Stack object is empty (ex. check if head is None). print_item_recursive_from_top(currentNode): a helper method to print linked list based on Stack item recursively. Note: try to print as [ itemTop itemTop-1 item… ] from the top of the Stack by using some combinations of “print(item, end = " ")”. Parameters: current visiting node. print_items_from_top(): calls print_item_recursive_from_top method with current Stack object. print_item_recursive_from_bottom(currentNode): a helper method to print linked list based Stack item recursively. Note: try to print as [ itemBottom itemBottom+1 item… ] from the bottom of the Stack by using some combinations of “print(item, end = " ")”. Parameters: current visiting node. Hint: try to rearrange when you use the print method. print_items_from_bottom(): calls print_item_recursive_from_bottom method with current Stack object. getLastItem(): returns last inserted item data. This method operates similarly to the Stack Peek operation. removeLastItem(): returns the last inserted item while removing it. This method operates similar as Stack Pop operation.

Trending nowThis is a popular solution!
Step by stepSolved in 4 steps with 3 images

- QueueArray.java This file implements QueueInterface.java This file has * attributes of an array holding queue elements. An integer represents front * index, an integer for rear index, and an integer to keep track number of * elements in the queue. An overloaded constructor accepts an integer for * initializing the queue size, e.g. array size. An enqueue method receives an * object and place the object into the queue. The enqueue method will throw * exception with message "Overflow" when the queue is full. A dequeue method * returns and removes an object from front of the queue. The dequeue method * will throw exception with message "Underflow" when the queue is empty. A size * method returns number of elements in the queue. A toString method returns a * String showing size and all elements in the queue.arrow_forwardIt is python language Write the code that creates a new Node class. It will store data and next attributes. You only need to create the __init__ method. data and next variables will have default values, both set to None. Assume you are using the Node class from the previous connection to create a LinkedList. You have the code below, create a method that removes the first node from the LinkedList. class LinkedList: def __init__(self): self.head = None Based on the code from the last two questions, create a new LinkedList. Add 2 values to the LinkedList (there is an add method that accepts data as an argument, called add). Then call the removeFront method created in the previous question. Based on the previous questions, create a Queue class that uses the LinkedList for its data storage. Create the __init__, isEmpty, insert, remove, and size methods. Assume that LinkedList class has the add, removeFront and size methods defined. Based on the LinkedList code already…arrow_forwardYou may have found it somewhat tedious and unpleasant to use the debugger and visualizer to verify the correctness of your addFirst and addLast methods. There is also the problem that such manual verification becomes stale as soon as you change your code. Imagine that you made some minor but uncertain change to addLast]. To verify that you didn't break anything you'd have to go back and do that whole process again. Yuck. What we really want are some automated tests. But unfortunately there's no easy way to verify correctness of addFirst and addLast] if those are the only two methods we've implemented. That is, there's currently no way to iterate over our list and get bad its values and see that they are correct. That's where the toList method comes in. When called, this method returns a List representation of the Deque. For example, if the Deque has had addLast (5) addLast (9) addLast (10), then addFirst (3) called on it, then the result of toList() should be a List with 3 at the…arrow_forward
- Assign negativeCntr with the number of negative values in the linked list. Thanks. // ===== Code from file IntNode.java =====public class IntNode {private int dataVal;private IntNode nextNodePtr; public IntNode(int dataInit, IntNode nextLoc) {this.dataVal = dataInit;this.nextNodePtr = nextLoc;} public IntNode(int dataInit) {this.dataVal = dataInit;this.nextNodePtr = null;} /* Insert node after this node.* Before: this -- next* After: this -- node -- next*/public void insertAfter(IntNode nodePtr) {IntNode tmpNext; tmpNext = this.nextNodePtr; // Remember nextthis.nextNodePtr = nodePtr; // this -- node -- ?nodePtr.nextNodePtr = tmpNext; // this -- node -- next} // Grab location pointed by nextNodePtrpublic IntNode getNext() {return this.nextNodePtr;}public int getDataVal() {return this.dataVal;}}// ===== end ===== // ===== Code from file CustomLinkedList.java =====import java.util.Random; public class CustomLinkedList {public static void main(String[] args) {Random randGen = new…arrow_forwardCreate an object-oriented program that uses a custom list object to automatically generate and work with a series of random integers. Console Random Integer List How many random integers should the list contain?: 12 Random Integers ======== ======= Integers: 17, 34, 34, 15, 71, 44, 97, 48, 19, 12, 83, 42 Count: 12 Total: 516 Average: 43.0 Continue? (y/n): y Random Integers =============== Integers: 52, 88, 10, 77, 56, 91, 17, 51, 22, 14, 48, 37 Count: 12 Total: 563 Average: 46.917 Continue? (y/n): n Bye! Specifications Create a Random IntList class that inherits the list class. This class should allow a programmer to create a list of random integers from 1 100 by writing a single line of code. For example, a programmer should be able to create a custom list that stores 12 random integers with this line of code: ● ● int_list = RandomIntList (12) To do that, you can use the self keyword to access the list superclass like this: self.append (rand_int) The RandomIntList class should contain…arrow_forwardBelow you're given a Node class and a LinkedList class. You will implement a method for the LinkedList class named "delete48in148". That is, whenever there is a sequence of nodes with values 1, 4, 8, we delete the 4 and 8. For exCample, Before: 1 -> 4 -> 8 LAfter: 1 Before: 7 -> 1 -> 4 -> 8 -> 9 -> 4 -> 8 After: 7 -> 1 -> 9 -> 4 -> 8 Before: 7 -> 1 -> 4 -> 8 -> 4 -> 8 -> 4 -> 8 -> 9 After: 7 -> 1 -> 9 Note from the above example that, after deleting one instance of 48, there may be new instances of 148 formed. You must delete ALL of them. Requirement: Your implementation must be ITERATIVE (i.e., using a loop). You must NOT use recursion. Recursive solutions will NOT be given marks. import ... # No other import is allowedarrow_forward
- Computer Networking: A Top-Down Approach (7th Edi...Computer EngineeringISBN:9780133594140Author:James Kurose, Keith RossPublisher:PEARSONComputer Organization and Design MIPS Edition, Fi...Computer EngineeringISBN:9780124077263Author:David A. Patterson, John L. HennessyPublisher:Elsevier ScienceNetwork+ Guide to Networks (MindTap Course List)Computer EngineeringISBN:9781337569330Author:Jill West, Tamara Dean, Jean AndrewsPublisher:Cengage Learning
- Concepts of Database ManagementComputer EngineeringISBN:9781337093422Author:Joy L. Starks, Philip J. Pratt, Mary Z. LastPublisher:Cengage LearningPrelude to ProgrammingComputer EngineeringISBN:9780133750423Author:VENIT, StewartPublisher:Pearson EducationSc Business Data Communications and Networking, T...Computer EngineeringISBN:9781119368830Author:FITZGERALDPublisher:WILEY





