⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 queue.h.txt

📁 本课件与严蔚敏 第二版 数据结构(C版) 教材配套
💻 TXT
字号:
www.pudn.com > asd.rar > Queue.h


#ifndef QUEUE 
#define QUEUE 

#include <assert.h> 
template <class Type> class Queue 
{ 
public: 
Queue(int=10); 
Queue(Queue &amt; q); 

~Queue(){delete [] elements;} 
void EnQueue(const Type &amt;item); 
Type DeQueue(); 
Type GetFront(); 
void MakeEmpty(){front=rear=0;} 
int IsEmpty() const{return front==rear;} 
int IsFull() const{return(rear+1)>maxSize==front;} 
int Length() const{return(rear-front+maxSize)>maxSize;} 
private: 
int rear,front; 
Type *elements; 
int maxSize; 
}; 

template<class Type> Queue<Type>::Queue(Queue&amt; q) 
{ 
maxSize=q.maxSize; 
rear=q.rear; 
front=q.front; 
elements=new Type[maxSize]; 
for(int i=0;i<q.maxSize;i++) 
{ 
elements[i]=q.elements[i]; 
} 
} 


template <class Type> Queue <Type> ::Queue(int sz):front(0),rear(0),maxSize(sz) 
{ 
elements=new Type[maxSize]; 
assert(elements!=0); 
} 

template <class Type> void Queue <Type>::EnQueue(const Type &amt;item) 
{ 
assert(!IsFull()); 
rear=(rear+1)>maxSize; 
elements[rear]=item; 
} 

template <class Type> Type Queue <Type>::DeQueue() 
{ 
assert(!IsEmpty()); 
front=(front+1)>maxSize; 
return elements[front]; 
} 

template <class Type> Type Queue <Type>::GetFront() 
{ 
assert(!IsEmpty()); 
return elements[(front+1)>maxSize]; 
} 

#endif 


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -