Java: An Introduction to Problem Solving and Programming (8th Edition)
Java: An Introduction to Problem Solving and Programming (8th Edition)
8th Edition
ISBN: 9780134462035
Author: Walter Savitch
Publisher: PEARSON
Question
Book Icon
Chapter 12, Problem 12PP
Program Plan Intro

Implementation of queue using circular linked list

Program Plan:

Filename: “CircularLinkedQueue.java”

  • Define “CircularLinkedQueue” class.
    • Declare variable for reference of first node, rear node and number of items.
    • Default constructor for “CircularLinkedQueue” class.
      • Set front and rear to “null” and count to “0”.
    • Define the method “addToQueue()” with argument of “item”.
      • If “front” is not equal to “null”, then
        • Create a new node using “QueueNode” class.
        • Set the new node as next to rear.
        • Set the new node as rear.
        • Set the new node at last.
          • If the queue is empty, then
            • Assign the next node to “null” by using “QueueNode” class.
            • Set rear to front for single node in queue.
            • Make the front as next to rear
          • Increment the number of items.
    • Define the method “removeFromQueue()”.
      • If the queue is not empty, then get the element at front node by calling “getQueueElement()” method and eliminate the front node.
        • Update the front and decrement the number of items.
        • Finally returns the resultant element.
          • If the queue is empty, then returns null.
    • Define the method “isEmpty()”.
      • This method returns “true” if the value of “count” is equal to “0”. Otherwise, returns “false”.
    • Define the method “displayQueueValues()”.
      • Declare a variable for node position.
      • Create a reference to front.
      • Performs “while” loop. This loop will repeat to display all elements in queue.
        • Display the element of the queue.
        • Go to the next node by using “getNextNode()” method.

Filename: “QueueNode.java”

  • Define “QueueNode” class.
    • Declare required variables for queue elements and next node value.
    • Create default constructor for “QueueNode” class.
      • Assign “null” values for queue elements and next node.
    • Create the parametrized constructor for “QueueNode” class.
    • Define the method “setNextNode()” which is used to set value for next node.
    • Define the method “getNextNode()” which is used to returns the next node value.
    • Define the method “setQueueElement()” which is used to assign value for queue elements.
    • Define the method “getQueueElement()” which is used to returns queue elements.

Filename: “CircularLinkedQueueTest.java”

  • Define “CircularLinkedQueueTest” class.
    • Define main function.
      • Create an object “nameQueue” for “CircularLinkedQueueTest” class.
      • Add names to object “nameQueue” by using “addToQueue()” method.
      • Call the method “displayQueueValues()” to display the elements in queue.
      • Remove an element from the queue by calling the method “removeFromQueue()”.
      • Display the result of whether the queue is empty or not by calling the method “isEmpty()”.
      • Display the elements in queue after removing an element from queue by calling the method “displayQueueValues()”.
      • Remove the elements from the queue by calling the method “removeFromQueue()”.
      • Display the result of whether the queue is empty or not by calling the method “isEmpty()”.

Blurred answer
Students have asked these similar questions
Objective: 1. Implement a custom Vector class in C++ that manages dynamic memory efficiently. 2. Demonstrate an understanding of the Big Five by managing deep copies, move semantics, and resource cleanup. 3. Explore the performance trade-offs between heap and stack allocation. Task Description: Part 1: Custom Vector Implementation 1. Create a Vector class that manages a dynamically allocated array. 。 Member Variables: ° T✶ data; // Dynamically allocated array for storage. std::size_t size; // Number of elements currently in the vector. std::size_t capacity; // Maximum number of elements before reallocation is required. 2. Implement the following core member functions: Default Constructor: Initialize an empty vector with no allocated storage. 。 Destructor: Free any dynamically allocated memory. 。 Copy Constructor: Perform a deep copy of the data array. 。 Copy Assignment Operator: Free existing resources and perform a deep copy. Move Constructor: Transfer ownership of the data array…
2.68♦♦ Write code for a function with the following prototype: * Mask with least signficant n bits set to 1 * Examples: n = 6 -> 0x3F, n = 17-> 0x1FFFF * Assume 1 <= n <= w int lower_one_mask (int n); Your function should follow the bit-level integer coding rules Be careful of the case n = W.
Hi-Volt Components You are the IT manager at Hi-Voltage Components, a medium-sized firm that makes specialized circuit boards. Hi-Voltage's largest customer, Green Industries, recently installed a computerized purchasing sys- tem. If Hi-Voltage connects to the purchasing system, Green Industries will be able to submit purchase orders electronically. Although Hi-Voltage has a computerized accounting system, that system is not capable of handling EDI. Tasks 1. What options does Hi-Voltage have for developing a system to connect with Green Industries' pur- chasing system? 2. What terms or concepts describe the proposed computer-to-computer relationship between Hi-Voltage and Green Industries? why not? 3. Would Hi-Voltage's proposed new system be a transaction processing system? Why or 4. Before Hi-Voltage makes a final decision, should the company consider an ERP system? Why or why not?

Chapter 12 Solutions

Java: An Introduction to Problem Solving and Programming (8th Edition)

Ch. 12.1 - Prob. 12STQCh. 12.2 - Prob. 13STQCh. 12.2 - Prob. 14STQCh. 12.2 - Prob. 15STQCh. 12.2 - Prob. 16STQCh. 12.3 - Prob. 17STQCh. 12.3 - Prob. 18STQCh. 12.3 - Prob. 19STQCh. 12.3 - Write a definition of a method isEmpty for the...Ch. 12.3 - Prob. 21STQCh. 12.3 - Prob. 22STQCh. 12.3 - Prob. 23STQCh. 12.3 - Prob. 24STQCh. 12.3 - Redefine the method getDataAtCurrent in...Ch. 12.3 - Repeat Question 25 for the method...Ch. 12.3 - Repeat Question 25 for the method...Ch. 12.3 - Repeat Question 25 for the method...Ch. 12.4 - Revise the definition of the class ListNode in...Ch. 12.4 - Prob. 30STQCh. 12.5 - What is the purpose of the FXML file?Ch. 12.5 - Prob. 32STQCh. 12 - Repeat Exercise 2 in Chapter 7, but use an...Ch. 12 - Prob. 2ECh. 12 - Prob. 3ECh. 12 - Repeat Exercises 6 and 7 in Chapter 7, but use an...Ch. 12 - Write a static method removeDuplicates...Ch. 12 - Write a static method...Ch. 12 - Write a program that will read sentences from a...Ch. 12 - Repeat Exercise 12 in Chapter 7, but use an...Ch. 12 - Write a program that will read a text file that...Ch. 12 - Revise the class StringLinkedList in Listing 12.5...Ch. 12 - Prob. 12ECh. 12 - Write some code that will use an iterator to...Ch. 12 - Prob. 14ECh. 12 - Write some code that will use an iterator to...Ch. 12 - Prob. 17ECh. 12 - Revise the method selectionSort within the class...Ch. 12 - Repeat the previous practice program, but instead...Ch. 12 - Repeat Practice Program 1, but instead write a...Ch. 12 - Write a program that allows the user to enter an...Ch. 12 - Write a program that uses a HashMap to compute a...Ch. 12 - Write a program that creates Pet objects from data...Ch. 12 - Repeat the previous programming project, but sort...Ch. 12 - Repeat the previous programming project, but read...Ch. 12 - Prob. 9PPCh. 12 - Prob. 10PPCh. 12 - Prob. 11PPCh. 12 - Prob. 12PPCh. 12 - Prob. 13PPCh. 12 - Prob. 14PPCh. 12 - Prob. 15PP
Knowledge Booster
Background pattern image
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning
Text book image
New Perspectives on HTML5, CSS3, and JavaScript
Computer Science
ISBN:9781305503922
Author:Patrick M. Carey
Publisher:Cengage Learning
Text book image
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
Text book image
Systems Architecture
Computer Science
ISBN:9781305080195
Author:Stephen D. Burd
Publisher:Cengage Learning
Text book image
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr
Text book image
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage