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

📄 queue.h

📁 编译原理实验
💻 H
字号:
#include "head.h"

struct listnode{
	node *data;
	listnode *next;
};

class queue{
public:
	listnode *front;	//指向表头结点的指针
	listnode *rear;		//指向链尾结点的指针
public:
	queue(void);	//构造函数
	~queue(void){};	//析构函数
	void EnQueue(node *x);	//入列操作
	node *DelQueue(void);	//出列操作
	node *GetFront(void);	//取队头元素
	int IsEmpty(void)		//判队空
	{
		if(front==rear)
			return 1;
		else
			return 0;
	}
	void Clear(void);		//清队空
};

queue::queue(void)
{
	listnode *tempnode;
	tempnode=new listnode;
	front=rear=tempnode;
}

void queue::EnQueue(node *x)
{
	listnode *tempnode;
	tempnode=new listnode;
	tempnode->data=x;
	rear->next=tempnode;
	rear=tempnode;
}

node* queue::DelQueue(void)
{
	listnode *tempnode;
	node *temp;
	if(front==rear)
		cout<<"overflow";
	else
	{
		tempnode=front->next;
		temp=tempnode->data;
		front->next=tempnode->next;
		if(tempnode==rear)
			rear=front;
		delete tempnode;
		return temp;
	}
	return NULL;
}

⌨️ 快捷键说明

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