//简单实现,模板类,环形队列
#include <iostream>
using namespace std;
template <typename T,int size>
class Queue
{
public:
Queue();
~Queue();
void travel();
bool isFull() const;
bool isEmpty() const;
bool EnQueue(T elem);
bool DeQueue(T &elem);
void clear();
private:
int m_iSize;
int m_iHead;
int m_iTail;
int m_iLength;
T *m_Qqueue;
};
template <typename T,int size>
Queue<T,size>::Queue(){
m_iSize=size;
m_Qqueue=new T[size];
clear();
}
template <typename T,int size>
Queue<T,size>::~Queue(){
delete []m_Qqueue;
m_Qqueue=NULL;
}
template <typename T,int size>
void Queue<T,size>::clear(){
m_iTail=0;
m_iHead=0;
m_iLength=0;
}
template <typename T,int size>
bool Queue<T,size>::isFull() const{
return m_iSize==m_iLength ? true:false;
}
template <typename T,int size&