|
|
队列数据结构 Queue.h |
|
|
作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站 |
/////////////////////////// // // // 队列数据结构 Queue.h // // // ////////////////////////// #include<iostream.h>
template<class Type> class Queue;
template<class Type> class QueueNode { friend class Queue<Type>; private: Type data; QueueNode<Type> *link; QueueNode(Type d=0,QueueNode *l=NULL):data(d),link(l){} };
template <class Type> class Queue { public: Queue():rear(NULL),front(NULL){} ~Queue(); void EnQueue(Type item); Type DelQueue(); Type GetFront(); void MakeEmpty(); bool ISEmpty() { return front==NULL; } private: QueueNode<Type> *front,*rear; };
template<class Type> Queue<Type>::~Queue() { QueueNode<Type> *p; while(front!=NULL) { p=front; front=front->link; delete p; } }
template<class Type> void Queue<Type>::EnQueue(Type item) { if(front==NULL) front=rear=new QueueNode<Type> (item,NULL); else rear=rear->link=new QueueNode<Type> (item,NULL); }
template<class Type> Type Queue<Type>::DelQueue() { QueueNode<Type> *p=front; Type temp=p->data;; front=front->link; delete p; return temp; }
template<class Type> Type Queue<Type>::GetFront() { return front->data; }
template<class Type> void Queue<Type>::MakeEmpty() { QueueNode<Type> *p; while(front!=NULL) { p=front; front=front->link; delete p; } }

|
|
相关文章:相关软件: |
|