📄 printq.h
字号:
#include "iostream.h"
#include "stdlib.h"
typedef struct
{
PDateType *data;
int max;
int front,rear,size;
}PQueue;
void SetPQueue(PQueue *Q,int n);
void FreePQueue(PQueue *Q);
int PQSize(PQueue *Q);
int PQEmpty(PQueue *Q);
int PQFull(PQueue *Q);
PDataType PQGetData(PQueue *Q,int pos);
void PQInsert(PQueue *Q,PDataType item);
PDataType PQDelete(PQueue *Q);
void ClearPQueue(PQueue *Q);
void SetPQueue(PQueue *Q,int n)
{
Q->data=(PDataType *) malloc(n *sizeof(PDataType));
if(Q->data==NULL)
{
cout<<"overflow!";
exit(1);
}
Q->max=n;
Q->front=0;
Q->rear=0;
Q->size=0;
}
void FreePQueue(PQueue *Q)
{
free(Q->data);
}
int PQSize(PQueue *Q)
{
return (Q->size);
}
int PQEmpty(PQueue *Q)
{
if(Q->size==0)
return (1);
return (0);
}
int PQFull(PQueue *Q)
{
if(Q->size==Q->max)
return (1);
return (0);
}
PDataType PQGetData(PQueue *Q,int pos)
{
if(Q->size==0)
{
cout<<"Queue is Empty!"<<endl;
exit(1);
}
return (Q->data[Q->front]);
}
void PQInsert(PQueue *Q,PDataType item)
{
if(Q->size==Q->max)
{
cout<<"Queue is full!"<<endl;
exit(1);
}
Q->data[Q->rear]=item;
Q->rear=(Q->rear+1)%Q->max;
Q->size++;
}
PDataType PQDelete(PQueue *Q)
{
PDataType item;
if(Q->size==0)
{
cout<<"Deleting from an empty queue!"<<endl;
exit(1);
}
item=Q->data[Q->front];
Q->front=(Q->front+1)%Q->max;
Q->size--;
return (item);
}
void ClearPQueue(PQueue *Q)
{
Q->front=0;
Q->rear=0;
Q->size=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -