用单链表表示的链式队列特别适合数据元素变动比较大的情形,而且不存在队列满而产生溢出的情况
队列的队头指针指向第一个结点,队尾指针指向单链表的最后一个结点
链式队列的模板类定义及实现:
#pragma once
const int maxSize = 50;
template<class T>
class Queue
{
public:
Queue() {
};
~Queue() {
};
virtual bool EnQueue(const T& x) = 0; //新元素进队列
virtual bool DeQueue(T& x) = 0; //队头元素出队列
virtual bool getFront(T& x) = 0; //获得队头元素
virtual bool IsEmpty()const = 0; //判断队列是否为空
virtual bool IsFull() const= 0; //判断队列是否为满
virtual int getSize() const= 0;
};
#pragma once
#include "Queue.h"
template<class T>
stru