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 + -
显示快捷键?