Java queue assignment | Computer Science homework help

Your assignment is to create and test a class for a queue of objects. You may use any object class of your choice as the data for the queue.   The instances of the class should have at least one field that distinguishes each instance from other instances of the class (key property, also called a key field).

You should complete the software to implement and test your queue and submit the software along with a project report. 

Your queue class should maintain a head pointer to the first element in the queue, a tail pointer to the last element in the queue, and the size of the queue as queue properties.  

We will add elements to the tail of the queue and remove elements from the head of the queue.  The head pointer points to the spot from which elements are deleted from the queue, and the tail pointer points to the end of the queue where elements are added to the queue.

Note that elements move though the queue in the opposite direction of the pointers from one element to the next.  Head points to the first element in the queue.  Head.next points to the element that will become the head when the head is removed (de-queue method) – the pointers point back in the queue.

You should have methods to:

  • instantiate a null queue
  • enqueue – add an element to the queue
  • dequeue – remove an element from the queue
  • size – return the size of the queue
  • a boolean isEmpty method

You will need to create a class of nodes for the data in the queue, which we call a queueElement.

Each queueElement should have data and a pointer to the next queueElement.

We need:

  • A null constructor (default)
  • An initializing constructor (instantiates a queueElement from a data element)

and methods to :

  • set the data in a queue element
  • return the data in a queue element
  • set the pointer to the next element
  • return the pointer to the next element

This assignment requires four classes – Queue, QueueElement, the data object class, and a class for your test project.   Each class should be a separate file in your NetBeans project, all in the same source directory.