📄 linkqueue.cpp
字号:
#include"LinkQueue.h"
bool initQueue(LinkQueue &Q)
{
//构造一个带头节点的空队列(以链表表示)
Q.front =Q.rear =(QueuePtr)malloc(sizeof(QNode));
if(!Q.front) return false; //分配节点失败
Q.front ->next =NULL;
return true;
}
bool queueEmpty(LinkQueue Q)
{
//判断队列是否为空。若为空,返回true;否则返回false
if(Q.rear ==Q.front )
return true;
else
return false;
}
bool EnQueue(LinkQueue &Q, QElemType e)
{
//插入新的元素
QNode *node=(QNode *)malloc(sizeof(QNode));
if(!node) return false;
node->next =NULL;
node->data =e;
Q.rear ->next =node;
Q.rear =Q.rear ->next ;
return true;
}
bool DeQueue (LinkQueue &Q,QElemType &e)
{
//若队列不空,将对头元素赋值给e,并删除对头元素
if(Q.front==Q.rear ) return false;
QueuePtr q=Q.front->next ;
e=q->data ;
Q.front ->next =q->next ;
if(Q.rear==q)Q.rear =Q.front ; //队列中只有一个节点
free(q);
return true;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -