// // This file contains the C# code from Program 6.22 of // "Data Structures and Algorithms // with Object-Oriented Design Patterns in C#" // by Bruno R. Preiss. // // Copyright (c) 2001--2002 by Bruno R. Preiss, P.Eng. All rights reserved. // // http://www.brpreiss.com/books/opus6/programs/pgm06_22.txt // public class DequeAsArray : QueueAsArray, Deque { public void EnqueueHead(object obj) { if (count == array.Length) throw new ContainerFullException(); if (head-- == 0) head = array.Length - 1; array[head] = obj; ++count; } public object DequeueHead() { return Dequeue(); } // ... }