Lab 12

CSCI 1913 – Introduction to Algorithms, Data Structures, and Program Development

Set up environment

What is a Queue

In programming theory, we say that a Queue is any data structure that supports the following operations:

  • enqueue(value) add something to the back of the queue.
  • front() return the current front of the queue without modifying the queue
  • dequeue() return the current front of the queue, removing it from the queue
  • isEmpty() check if the queue is empty.

Submission

For this lab you need to turn in two files:

  • CacheBlockQueueNode.java
  • CacheBlockQueue.java

Javadoc

Key Rules:

  • Starts with /** and ends with */
  • First sentence is a short summary — it appears in the generated HTML overview
  • @param tag should be listed for every parameter

Javadoc

   /**                                                                               
   * Calculates the average of an array of test scores.
   * Returns 0 if the array is null or empty.    
   *              
   * @param scores  an array of test scores, each in the range [0, 100]
   * @param count   the number of scores in the array
   * @return        the average of all scores, or 0 if the array is null or empty
   * @throws        IllegalArgumentException if count is negative
   *
   * @author        Adriana Picoral
   * @version       1.0
   */
  public double calculateAverage(double[] scores, int count) {
      if (scores == null || scores.length == 0) return 0;
      if (count < 0) throw new IllegalArgumentException("Count cannot be negative");

      double sum = 0;
      for (double score : scores) {
          sum += score;
      }
      return sum / count;
  }