C++链队列的模板实现
#pragma once
//链队列的实现
#include <iostream>
using namespace std;
template<typename DataType>
struct Node
{
DataType data;
Node<DataType>* next;
};
template<typename DataType>
class LinkQueue
{
public:
LinkQueue();
~LinkQueue();
void EnQueue(DataType x);
DataType DeQueue();
DataType GetQueue();
int Empty(){ front == rear ? return 1: return 0; }
private:
Node<DataType>* front, * rear;
};
template<typename DataType>
LinkQueue<DataType>::LinkQueue()
{
Node<DataType> *s = new Node < DataType > ;
s->next = NULL;
front = rear = s;
}
template<typename DataType>
LinkQueue<DataType>::~LinkQueue()
{
while (first != NULL)
{
Node<DataType>* q = front;
front = front->next;
delete q;
}
}
template<typename DataType>
void LinkQueue<DataType>::EnQueue (DataType x)
{
Node<DataType>* s = new Node<DataType