队列常常也使用链式存储的方式来实现。为了方便操作,同顺序存储一样,我们要维护一个头指针和一个尾指针。如下图:
在链式队列中显然不会出现假溢出的情况。但在出队时,要及时释放内存。由于在队列的实现:顺序队列中,对队列的描述已经很清楚了。就闲话不多说,直接上代码:
类定义和类实现
#include<iostream>
#include<iomanip>
using namespace std;
typedef int ELemType;
class QNode //节点类型
{
public:
ELemType data;
QNode *next;
QNode(ELemType v, QNode*p=NULL):data(v),next(p){};
};
class LinkQueue //链式队列
{
private:
int size;
QNode *front; //头指针
QNode *rear; //尾指针
pu