// // This file contains the C# code from Program 6.25 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_25.txt // public class DequeAsLinkedList : QueueAsLinkedList, Deque { public object Tail { get { if (count == 0) throw new ContainerEmptyException(); return list.Last; } } public void EnqueueTail(object obj) { Enqueue(obj); } public object DequeueTail() { if (count == 0) throw new ContainerEmptyException(); object result = list.Last; list.Extract(result); --count; return result; } // ... }