CPE 103 Lab Activity
    
    Priority Queue Implementation
    
    This lab is an enhancement of Weiss Problem 6.27.  
    
    You are to create an implementation of a priority queue.  (java.util
    already has one, but you are going to write one from
    scratch.)   
    
    Your class is to be named ArrayPriorityQueue and it must
    implement this PriorityQueue
    Interface.
    
    Here is the skeleton for ArrayPriorityQueue
    that you should complete.  Note that your solution must be
    generic. You may add instance fields to this class.
    
    You are to implement the priority queue using an unsorted
    array.  Each enqueue operation is implemented by inserting the
    new item in the next available location in the array.  
    
    Determine the Big-Oh running time for each of peek(), dequeue(),
    and enqueue().  Describe it in the method's javadoc
    comment.
    
    The clear() operation must be performed in constant time
    (O(1)).
    
     @SuppressWarnings({"unchecked"})   may only
    be used on the constructor.
    
    Write a JUnit test class named ArrayPriorityQueueStringTest
    that exercises your queue using Strings as elements.
    
    Imagine that your class is going to be used in a help desk
    application that needs to prioritize outstanding issues that have to
    be resolved by help desk staff.  Create a class named Ticket
    that represents an issue.  The Ticket should have an ID number
    (a 5 digit number), a description of the problem, and a priority (a
    positive integer).  
    
    Write a JUnit test class named ArrayPriorityQueueTicketTest
    that exercises your queue using Tickets as elements.
    
    Submit your work as described in the syllabus.