04071505queue.h

来自「数据结构的部分算法程序。相对来说是通用算法中效率比较高的程序」· C头文件 代码 · 共 40 行

H
40
字号
#include<iostream.h>
#include <malloc.h>
typedef struct QNode//定义队列结点
{
	QElemType data;
	QNode *next;
}*LQueuePtr;
struct LQueue//定义链队列
{
	LQueuePtr front,rear;
};

void QueueInit(LQueue &Q)//初始化
{
    Q.front=new QNode;
	Q.front->next=NULL;
	Q.rear=Q.front;
}
void Enqueue(LQueue &Q,QElemType e)//入队
{
	LQueuePtr p;
	p=new QNode;  //新结点
	p->data=e;   //赋值
	p->next=Q.rear->next;
	Q.rear->next=p;
	Q.rear=p;
}

bool Dequeue(LQueue &Q,QElemType &e)//出队
{
	LQueuePtr p;
	if(Q.front==Q.rear)return false;//队头和队尾在指到同一个结点,则为空,不再出队
	p=Q.front->next; 
	Q.front->next=p->next;  
	e=p->data;
    if(Q.rear==p)Q.rear=Q.front;//最后一元素出队前,头尾指向同一位置
	delete p;
	return true;
}

⌨️ 快捷键说明

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