📄 queue.cpp
字号:
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
#include "Queue.h"
void QueueInitial(CircSeqQueue pQ)
{
pQ->front=pQ->rear=0;
}
int IsEmpty(CircSeqQueue pQ)
{
return pQ->front==pQ->rear;
}
int IsFull(CircSeqQueue pQ)
{
return (pQ->rear+1)%MaxSize==pQ->front;
}
void EnQueue(CircSeqQueue pQ,ElemType e)
{
if (IsFull(pQ))
{
printf("队列溢出!");
exit(1);
}
pQ->rear=(pQ->rear+1)%MaxSize;
pQ->data[pQ->rear]=e;
}
ElemType DeQueue(CircSeqQueue pQ)
{
if (IsEmpty(pQ))
{
printf("空队列!");
exit(1);
}
pQ->front=(pQ->front+1)%MaxSize;
return pQ->data[pQ->front];
}
ElemType GetFront(CircSeqQueue pQ)
{
if (IsEmpty(pQ))
{
printf("空队列!");
exit(1);
}
return pQ->data[(pQ->front+1)%MaxSize];
}
void display(CircSeqQueue pQ)
{
if (IsEmpty(pQ))
{
printf("空队列!\n");
}
while (!IsEmpty(pQ))
{
printf("%-5c",pQ->data[(pQ->front+1)%MaxSize]);
pQ->front=(pQ->front+1)%MaxSize;
}
putchar('\n');
}
void MakeEmpty(CircSeqQueue pQ)
{
pQ->front=pQ->rear=0;
}
void Union(CircSeqQueue pQ1,CircSeqQueue pQ2)
{
while (!IsEmpty(pQ2))
{
EnQueue(pQ1,pQ2->data[(pQ2->front+1)%MaxSize]);
pQ2->front=(pQ2->front+1)%MaxSize;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -