queue.h

来自「医院模拟:经典堆栈队列应用;VC++控制台程序;小弟上数据结构是作品.」· C头文件 代码 · 共 84 行

H
84
字号
#define Type int
#define NULL 0
/////

/////
typedef struct QueueNode
{
	Type data;
	QueueNode *next;
}QueueNode;
typedef struct ListQueue
{
	QueueNode *front;
	QueueNode *rear;
}ListQueue;

////
ListQueue *CreatListQueue()
{
	ListQueue *p=new ListQueue;
	p->front=NULL;
	p->rear=NULL;
	return p;
}

//
int IsEmpty(ListQueue *p)
{
	return p->front==NULL?1:0;
}

//
void InQueue(ListQueue *p,Type value)
{
	if(p->front==NULL) 
	{
		p->front=p->rear=new QueueNode;
		p->front->data=value;
		p->front->next=NULL;
	}
	else 
	{
		p->rear->next=new QueueNode;//无出错处理
		p->rear->next->data=value;
		p->rear=p->rear->next;
		p->rear->next=NULL;
	}
}

//
Type OutQueue(ListQueue *p)
{
	if(IsEmpty(p))
	{
		return NULL;
	}
	else 
	{
		QueueNode *q=p->front;
		Type value=q->data;
		p->front=p->front->next;
		delete q;
		return value;
	}
}

//
void MakeEmpty(ListQueue *p)
{
	QueueNode *q=p->front;
	QueueNode *r=q;
	while(q)
	{
		q=q->next;
		delete r;
		r=q;
	}
	p->front=p->rear=NULL;
}
	



⌨️ 快捷键说明

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