1 #ifndef QUEUE_H 2 #define QUEUE_H 3 #include "LinkedList.h" 4 #include <stdexcept> 5 using namespace std; 6 7 template<typename T> 8 class Queue 9 { 10 public: 11 Queue(); 12 void enqueue(T element); 13 T dequeue() throw (runtime_error); 14 int getSize() const; 15 16 private: 17 LinkedList<T> list; 18 }; 19 20 template<typename T> 21 Queue<T>::Queue() 22 { 23 } 24 25 template<typename T> 26 void Queue<T>::enqueue(T element) 27 { 28 list.addLast(element); 29 } 30 31 template<typename T> 32 T Queue<T>::dequeue() throw (runtime_error) 33 { 34 return list.removeFirst(); 35 } 36 37 template<typename T> 38 int Queue<T>::getSize() const 39 { 40 return list.getSize(); 41 } 42 43 #endif