Complete the method definitions in linkedqueue.java

Assignment Help JAVA Programming
Reference no: EM13772093

A Linked Queue Implementation

File QueueADT.java contains a Java interface representing a queue ADT. In addition to enqueue(), dequeue(), and isEmpty(), this interface contains two methods that are not described in the book - isFull () and size().

//*********************************************************
// QueueADT.java
// The classic FIFO queue interface.
//*********************************************************

public interface QueueADT

{
//---------------------------------------------
// Puts item on end of queue.
//---------------------------------------------

public void enqueue(Object item);
//---------------------------------------------
// Removes and returns object from front of queue.
//---------------------------------------------

public Object dequeue();
//---------------------------------------------
// Returns true if queue is empty.
//---------------------------------------------
publicbooleanisEmpty();
//---------------------------------------------
// Returns true if queue is full.
//---------------------------------------------
publicbooleanisFull();
//---------------------------------------------
// Returns the number of elements in the queue.
//---------------------------------------------

File LinkedQueue.java contains a skeleton for a linked implementation of this interface; it also includes a toString() method that returns a string containing the queue elements, one per line.

// LinkedQueue.java
// A linked-list implementation of the classic FIFO queue interface.
//***********************************************************
public class LinkedQueue implements QueueADT
{
private Node front, back;
privateintnumElements;
//---------------------------------------------
// Constructor; initializes the front and back pointers
// and the number of elements.
//---------------------------------------------
publicLinkedQueue()
{
}
//---------------------------------------------
// Puts item on end of queue.
//---------------------------------------------
public void enqueue(Object item)
{
}
//---------------------------------------------
// Removes and returns object from front of queue.
//---------------------------------------------
public Object dequeue()
{
Object item = null;
}
//---------------------------------------------
// Returns true if queue is empty.
//---------------------------------------------
publicbooleanisEmpty()
{
}
//---------------------------------------------
// Returns true if queue is full, but it never is.
//---------------------------------------------
publicbooleanisFull()
{
}
//---------------------------------------------
// Returns the number of elements in the queue.
//---------------------------------------------
publicint size()
{
}
//---------------------------------------------
// Returns a string containing the elements of the queue
// from first to last
//---------------------------------------------
public String toString()
{
String result = "\n";
Node temp = front;
while (temp != null)
{
result += temp.getElement() + "\n";
temp = temp.getNext();
}
return result;
}
}
It depends on the Node class in Node.java. (This could also be defined as an inner class.) Collections
//************************************************************
// Node.java
// A general node for a singly linked list of objects.
//************************************************************
public class Node
{
private Node next;
private Object element;
//-------------------------------------------------------
// Creates an empty node
//-------------------------------------------------------
public Node()
{
next = null;
element = null;
}
//-------------------------------------------------------
// Creates a node storing a specified element
//-------------------------------------------------------
public Node(Object element)
{
next = null;
this.element = element;
}
//-------------------------------------------------------
// Returns the node that follows this one
//-------------------------------------------------------
public Node getNext()
{
return next;
}
//-------------------------------------------------------
// Sets the node that follows this one
//-------------------------------------------------------
public void setNext(Node node)
{
next = node;
}
//-------------------------------------------------------
// Returns the element stored in this node
//-------------------------------------------------------
public Object getElement()
{
return element;
}
//-------------------------------------------------------
// Sets the element stored in this node
//-------------------------------------------------------
public void setElement(Object element)
{
this.element = element;
}
}
File TestQueue.java contains a simple test program.
//**********************************************************
// TestQueue
// A driver to test the methods of the QueueADT implementations.
//**********************************************************
public class TestQueue
{
public static void main(String[] args)
{
QueueADT q = new LinkedQueue();
System.out.println("\nEnqueuing chocolate, cake, pie, truffles:");
q.enqueue("chocolate");
q.enqueue("cake");
q.enqueue("pie");
q.enqueue("truffles");
System.out.println("\nHere's the queue: " + q);
System.out.println("It contains " + q.size() + " items.");
System.out.println("\nDequeuing two...");
System.out.println(q.dequeue());
System.out.println(q.dequeue());
System.out.println("\nEnqueuing cookies, profiteroles, mousse, cheesecake,
ice cream:");
q.enqueue("cookies");
q.enqueue("profiteroles");
q.enqueue("mousse");
q.enqueue("cheesecake");
q.enqueue (" ice cream");
System.out.println("\nHere's the queue again: " + q);
System.out.println("Now it contains " + q.size() + " items.");
System.out.println("\nDequeuing everything in queue");
while (!q.isEmpty())
System.out.println(q.dequeue());
System.out.println("\nNow it contains " + q.size() + " items.");
if (q.isEmpty())
System.out.println("Queue is empty!");
else
System.out.println("Queue is not empty -- why not??!!");
}
}

Complete the method definitions in LinkedQueue.java. Some things to think about:

• In enqueue() and dequeue() you have to maintain both the front and back pointers - this takes a little thought. In particular, in enqueue be careful of the case where the queue is empty and you are putting the first item in. This case requires special treatment (think about why).

• The easiest way to implement the size() method is to keep track of the number of elements as you go with the numElements variable - just increment this variable when you enqueue an element and decrement it when you dequeue an element.

• A linked queue is never full, so isFull() always returns false. Easy! Study the code in TestQueue.java so you know what it is doing, then compile and run it. Correct any problems in your Linked Queue class.

Reference no: EM13772093

Questions Cloud

Compare lord krishnas teachings with socratess teachings : Compare and contrast Lord Krishna's teachings in the "Bhagavad Gita" with Socrates's teachings to Crito in Plato's "Crito." What are the values each teaches?
Type of respiratory protection device : Select the preferred type of respiratory protection device and identify which standardized OSHA filter color the device should be fitted.
Describe the distinctions between jails and prisons : Write a 200- to 300-word response in which you describe the distinctions between jails and prisons. Address the following in your comparison: Identify the four types of prisons
What is the half-life of a first order reaction : What is the half-life of a first order reaction if 75.0% of the reactant has been consumed after 60 minutes?
Complete the method definitions in linkedqueue.java : Complete the method definitions in LinkedQueue.java. Some things to think about- In enqueue() and dequeue() you have to maintain both the front and back pointers - this takes a little thought. In particular, in enqueue be careful of the case where..
Describe the characteristics of criminal incident you found : The Crime (Describe the characteristics of the criminal incident you found, then describe what we know about this type of crime more generally. . . prevalence, trends, costs, etc.)
Scientific method to analyze environmental decisions : What is zero population growth? Is this a reasonable and attainable goal for the global human population?
Why do we call economics a scientific discipline : 1. Why do we call economics a scientific discipline? Explain. 2. Why are "scarcity" and "choice" central to economics?
Prepear a presentation that evaluate current banking system : Prepear a presentation that evaluate current banking system and make it more efficient as well as safer through IT. Our goal is to replace the cumbersome and unsafe method of using a card and id with fingerprint scanners.

Reviews

Write a Review

JAVA Programming Questions & Answers

  Recursive factorial program

Write a class Array that encapsulates an array and provides bounds-checked access. Create a recursive factorial program that prompts the user for an integer N and writes out a series of equations representing the calculation of N!.

  Hunt the wumpus game

Reprot on Hunt the Wumpus Game has Source Code listing, screen captures and UML design here and also, may include Javadoc source here.

  Create a gui interface

Create GUI Interface in java programing with these function: Sort by last name and print all employees info, Sort by job title and print all employees info, Sort by weekly salary and print all employees info, search by job title and print that emp..

  Plot pois on a graph

Write a JAVA program that would get the locations of all the POIs from the file and plot them on a map.

  Write a university grading system in java

University grading system maintains number of tables to store, retrieve and manipulate student marks. Write a JAVA program that would simulate a number of cars.

  Wolves and sheep: design a game

This project is designed a game in java. you choose whether you'd like to write a wolf or a sheep agent. Then, you are assigned to either a "sheep" or a "wolf" team.

  Build a graphical user interface for displaying the image

Build a graphical user interface for displaying the image groups (= cluster) in JMJRST. Design and implement using a Swing interface.

  Determine the day of the week for new year''s day

This assignment contains a java project. Project evaluates the day of the week for New Year's Day.

  Write a java windowed application

Write a Java windowed application to do online quiz on general knowledge and the application also displays the quiz result.

  Input pairs of natural numbers

Java program to input pairs of natural numbers.

  Create classes implement java interface

Interface that contains a generic type. Create two classes that implement this interface.

  Java class, array, link list , generic class

These 14 questions covers java class, Array, link list , generic class.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd