⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 queue.cpp

📁 这是一个教学安排管理程序,包括源代码,报告文档,是计算机专业的课程设计
💻 CPP
字号:
#include "stdafx.h"
#include <stdlib.h>
#include "queue.h"

Status InitialQueue(Queue &Q){
    //构造一个穿队Q
	Q.front=Q.rear=(QueuePtr)malloc(sizeof(QNode));
	if(!Q.front) exit(OVERFLOW);
	Q.front->next=NULL;
	return OK;
}
Status DestroyQueue(Queue &Q){
    //销毁队列Q,Q不再存在
	while(Q.front){
		Q.rear=Q.front->next;
		free(Q.front);
		Q.front=Q.rear;
	}
	return OK;
}
Status EnQueue(Queue &Q,QElemType e){
    //插入元素e为Q的新的队尾
	QueuePtr p;
	p=(QueuePtr)malloc(sizeof(QNode));
	if(!p) exit(OVERFLOW);
	p->data=e;
	p->next=NULL;
	Q.rear->next=p;
	Q.rear=p;
	return OK;
}
Status DeQueue(Queue &Q,QElemType &e){
    //若队列不空,则删除Q的队头元素,用e返回其值,并返回OK;
    //否则返回ERROR
	if(Q.front==Q.rear) return ERROR;
	QueuePtr p;
	p=Q.front->next;
	e=p->data;
	Q.front->next=p->next;
	if(Q.rear==p) Q.rear=Q.front;
	free(p);
	return OK;
}
Status QueueEmpty(Queue Q){
	//若队列Q为空队列,则返回TRUE,否则返回FALSE
	if(Q.front==Q.rear)
		return TRUE;
	else
		return FALSE;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -