在慕课网数据结构——队列篇的学习后,老师提出可以自己写个队列的模板,下面是我根据课中内容进行改写的类模板:
此为头文件:
#ifndef MYQUEUE_H
#define MYQUEUE_H
template<class T>
class MyQueue
{
public:
//C语言函数定义法
MyQueue(int queueCapacity); //InitQueue(&Q) 创建队列
virtual ~MyQueue(); //DestroyQueue(&Q) 销毁队列
void ClearQueue(); //ClearQueue(&Q) 清空队列
bool QueueEmpty() const; //QueueEmpty(Q) 判空队列
bool QueueFull() const; //QueueFull(Q) 判满队列
int QueueLength() const; //QueueLength(Q) 队列长度
bool EnQueue(T element); //EnQueue(&Q,element) 新元素入队
bool DeQueue(T &element); //DeQueue(&Q,&element) 首元素出队
void QueueTraverse(); //QueueTraverse(Q,visit()) 遍历队列
private:
T *m_pQueue; //队列数组指针
int m_iQueueLen; //队列元素个数
int m_iQueueCapacity; //队列数组容量
int m_iHead; //队列头
int m_iTail; //队列尾
};
template<class T>
M