User Tools

Site Tools


haas:fall2011:data:projects:queuelib

Queue Library implementation

Linked Lists provide a foundation for dynamic structures. Further exploring Data Structures, we find that particular manipulations of these structures enable interesting possibilities for computing. Queue are another such iteration of these Data Structures we are exploring this semester.

An excellent exploration with Queues would be to extend your Linked List Library with Queue Functionality (or to create a new Queue library that depends on the Linked List library).

To create a Queue library, you may want to have the following functions:

  • create: generate a new queue
  • enqueue: add a new node to the beginning of the queue
  • dequeue: remove the node from the end of the end and return it
  • isEmpty: is the queue in an empty condition?
  • delete: delete and de-allocate the queue
  • copy: duplicate the existing queue

A queue can be relatively infinite (so long as available resources are present for allocation) or fixed in size.

Your queue implementation should be able to handle/recognize the following situations:

  • unlimited queue size
  • fixed queue size (also known as a buffer)
  • buffer overrun
  • buffer underrun

Implementing this functionality into a library will enable you to utilize it in additional projects.

haas/fall2011/data/projects/queuelib.txt · Last modified: 2011/08/22 16:20 by 127.0.0.1