#include<iostream>
using namespace std;
template<class T>
class node
{
public:
T data;
node<T>* next;
};
template<class T>
class LinkQueue
{
public:
LinkQueue();
~LinkQueue();
void EnQueue(T x);
T DeQueue();
T GetQueue()
{
if (front != rear)
return front->next->data;
}
int Empty()
{
if (front == rear)
return 1;
else
return 0;
}
private:
node<T>* front, * rear;
};
template<class T>
LinkQueue<T>::LinkQueue()
{
node<T>* s = new node<T>;
s->next = nullptr;
front = rear = s;
}
template<class T>
LinkQueue<T>::~LinkQueue()
{
}
template<class T>
void LinkQueue<T>::EnQueue(T x)
{
node<T>* s = new node<T>;
s->data = x;
s->next = nullptr;
rear->next = s;
rear = rear->next;
}
template<class T>
T LinkQueue<T>::DeQueue()
{
if (rear == front)
throw "Underflow";
node<T>*p = front->next;
T x = p->data;
front->next = p->next;
if (p->next == nullptr)
rear = front;
delete p;
return x;
}
链表队列的实现
最新推荐文章于 2022-04-11 16:54:22 发布