queue.h
来自「本程序是实现二叉树跟树的常用算法」· C头文件 代码 · 共 103 行
H
103 行
template<typename T>class queue;
template<typename T>class queueNode
{
private:
queueNode<T> *next;
T element;
public:
queueNode(T data){ element=data; next=NULL;}
friend class queue<T>;
};
template<typename T>class queue
{
public:
queue(){rear=front=NULL;}
~queue();
void MakeEmpty();
void EnQue(T data);
T DeQue();
T GetFront();
bool IsEmpty(){return front==NULL;}
private:
queueNode<T> *rear,*front;
};
template<typename T>queue<T>::~queue()
{
MakeEmpty();
}
template<typename T>void queue<T>::MakeEmpty()
{
queueNode<T> *temp;
while(front)
{
temp=front;
front=front->next;
delete temp;
}
}
template<typename T>void queue<T>::EnQue(T data)
{
queueNode<T> *current;
current=new queueNode<T>(data);
if(front==NULL)
front=rear=current;
else {
rear->next=current;
rear=current;
}
}
template<typename T>T queue<T>::DeQue()
{
assert(!IsEmpty());
queueNode<T> *temp;
T data;
temp=front;
data=temp->element;
front=front->next;
delete temp;
return data;
}
template<typename T>T queue<T>::GetFront()
{
assert(!IsEmpty());
return front->element;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?