Assignment 3 Solutions
Solution to deque.cc code:
/**************************************************** * File Name: deque.cc * Author: Brenda Student * Course: CSCI 132 * Assignment: Homework 3 * Purpose: Implementation of Queue class * Date: February 13, 2014 *****************************************************/ #include "deque.h" Deque::Deque() //optional /* Pre: None Post: The Deque is initialized to be empty. */ { //nothing to initialize } Error_code Deque::append_front(const Queue_entry &item) /* Pre: The deque is not full Post: item is added to the front of the Deque. If the Deque is full return an Error_code of overflow. */ { if (count >= maxqueue) { return overflow; } if (front == 0) { front = maxqueue -1; } else { front = front -1; } entry[front] = item; count ++; return success; } Error_code Deque::serve_front() /* Pre: the deque has at least one entry Post: The front of the Deque is removed. If the Deque is empty return an Error_code of underflow. */ { return serve(); //Or could write Queue::serve(); } Error_code Deque::retrieve_front(Queue_entry &item)const /* Pre: The deque has at least one entry Post: The front of the Deque retrieved to the output parameter item. If the Deque is empty return an Error_code of underflow. */ { return retrieve(item); } Error_code Deque::append_rear(const Queue_entry &item) /* Pre: The deque is not full Post: item is added to the rear of the Deque. If the Deque is full return an Error_code of overflow. */ { return append(item); } Error_code Deque::serve_rear() /* Pre: The deque has at least one entry Post: The rear of the Deque is removed. If the Deque is empty return an Error_code of underflow. */ { if (count <= 0) return underflow; if (rear == 0) { rear = maxqueue -1; } else { rear = rear -1; } count --; return success; } Error_code Deque::retrieve_rear(Queue_entry &item)const /* Pre: Deque has at least one entry Post: The rear of the Deque retrieved to the output parameter item. If the Deque is empty return an Error_code of underflow. */ { if (count <= 0) return underflow; item = entry[rear]; return success; }
Home | | Syllabus | | Assignments | | Lecture Notes