Java: An Introduction to Problem Solving and Programming (7th Edition)
Java: An Introduction to Problem Solving and Programming (7th Edition)
7th Edition
ISBN: 9780133766264
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
Write a Queue implementation that uses a circular linked list, which is the sameas a linked list except that no links are null and the value of last.next is first whenever the list is not empty. Keep only one Node instance variable
1 Implement a nested class DoubleNode for building doubly-linked lists, where each node contains a reference to the item preceding it and the item following it in the list (null if there is no such item). Then implement static methods for the following tasks: insert at the beginning, insert at the end, remove from the beginning, remove from the end, insert before a given node, insert after a given node, and remove a given node.
Java Programming language Please help me with this. Thanks in advance.

Chapter 12 Solutions

Java: An Introduction to Problem Solving and Programming (7th 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 - 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