queue.h
来自「java编程理发馆」· C头文件 代码 · 共 45 行
H
45 行
typedef struct{
int ArrivalTime; //顾客到达时间
int Duration; //顾客理发时间
}QElemType; //队列数据元素类型
typedef struct QNode{
QElemType data;
struct QNode *next;
}QNode,*QueuePtr;
typedef struct{
QueuePtr front;
QueuePtr rear;
int len;
}LinkQueue;
void InitQueue(LinkQueue &Q)
{
Q.front=new QNode;
Q.front->next=NULL;
Q.rear=Q.front;
Q.len=0;
}
void EnQueue(LinkQueue &Q, QElemType e)
{
QNode *p;
p=new QNode;
p->data.ArrivalTime=e.ArrivalTime;
p->data.Duration=e.Duration;
p->next=NULL;
Q.rear->next=p;
Q.rear=p;
Q.len++;
}
int DeQueue(LinkQueue &Q,QElemType &e)
{
QNode *p;
if(Q.front->next==NULL) return 0;
p=Q.front->next;
e.ArrivalTime=p->data.ArrivalTime;
e.Duration=p->data.Duration;
Q.front->next=p->next; //删除第一个元素
if(Q.rear==p) Q.rear=Q.front;
delete p;
Q.len--;
return 1;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?