写在前面:本篇介绍用C++的模板类来实现一个动态链表
链表的结构:
代码、注释、运行结果
#include <iostream>
using namespace std;
template <class Object>
class Queue
{
public:
Queue(); //构造函数
~Queue(); //析构函数
bool isEmpty(); //判断queue是否为空
void makeEmpty(); //清空queue
Object getFront(); //获取队首内容
void enqueue(const Object &obj); //进入队列尾部
Object dequeue(); //从头部删除一个node
private:
struct linkNode
{
Object element;
linkNode *next;
linkNode(Object ele, linkNode *p = NULL) :element(ele), next(p) {};
};
linkNode *front;
linkNode *back;
};
template <class Object>
Queue<Object>::Queue()
{
front = back = NULL;
}
template &l