📄 queue.c
字号:
#include <stdio.h>
#include <stdlib.h>
#include "const.h"
#include "queue.h"
Queue *InitQueue()
{
Queue *Q = (Queue *)malloc(sizeof(Queue));
Q->front = Q->rear = 0;
return Q;
}
int EnQueue(Queue *Q, ElemType x)
{
if ((Q->rear + 1)%MAXSIZE == Q->front)
{
return FALSE;
}
else {
Q->q[Q->rear] = x;
Q->rear = (Q->rear + 1)%MAXSIZE;
return TRUE;
}
}
int DeQueue(Queue *Q, ElemType *x)
{
if (Q->rear == Q->front)
{
return FALSE;
}
else {
*x = Q->q[Q->front];
Q->front = (Q->front + 1)%MAXSIZE;
return TRUE;
}
}
int QueueEmpty(Queue Q)
{
if (Q.rear == Q.front)
{
return TRUE;
}
else {
return FALSE;
}
}
int QueueFull(Queue Q)
{
if ((Q.rear + 1)%MAXSIZE == Q.front)
{
return TRUE;
}
else {
return FALSE;
}
}
/**这个临时队列,把原队列放到里面,当取完最后一
个元素后,就把这个队列中的元素放回原来的队列
Elemtype Last(Queue *Q)
{
Elemtype *prElem = NULL;
Queue *prTempQueue;
prTempQueue = InitQueue();
while(QueueEmpty(*Q)==1)
{
DeQueue(Q,prElem);
EnQueue(prTempQueue,*prElem);
}
while(QueueEmpty(*prTempQueue)==1)
{
DeQueue(prTempQueue,prElem);
EnQueue(Q,*prElem);
}
return *prElem;
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -