// // This file contains the C# code from Program 6.15 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_15.txt // public class QueueAsArray : AbstractContainer, Queue { protected object[] array; protected int head; protected int tail; public QueueAsArray(int size) { array = new object[size]; head = 0; tail = size - 1; } public override void Purge() { while (count > 0) { array[head] = null; if (++head == array.Length) head = 0; --count; } } // ... }