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

📄 链接队列.cpp

📁 很好的完整的课程设计啊
💻 CPP
字号:

void InitQueue(LinkQueue& Q)	//初始化队列
{
	Q.front=Q.rear=NULL;
}

void EnQueue(LinkQueue& Q,ElemType item)//向队列中插入一个元素
{
	LNode *newptr=new LNode();
	newptr->data=item;
	newptr->next=NULL;
	if(Q.rear==NULL)					//若队列为空,则新结点既是队首又是队尾
		Q.front=Q.rear=newptr;
	Q.rear->next=newptr;				//若队列非空,则新结点被链接到队尾
	Q.rear=newptr;
}

ElemType OutQueue(LinkQueue& Q)	//从队列中删除一个元素
{
	if(Q.front==NULL)			//若队列为空则终止运行
	{
		cout<<"Empty!"<<endl;
		exit(1);
	}
	LNode *p;					//暂存队首元素以便返回
	p=Q.front;					//暂存队首指针以便回收队首结点
	ElemType a=p->data;			//使队首指针指向下一个结点
	Q.front=p->next;			//若删除后队列为空,则使队尾指针为空
	if(Q.front==NULL)
		Q.rear=NULL;
	delete p;
	return a;					//返回删除的队首元素
}

void ClearQueue(LinkQueue& Q)	//清除队列中的所有元素,使之变成空队
{
	LNode *b;					//对首时针赋给p
	b=Q.front;
	while(Q.front!=NULL)		//依次删除队列中的每个元素
	{
		Q.front=b->next;
		delete b;
		b=Q.front;
	}
	Q.rear=NULL;				//置队尾指针为空
}
bool EmptyQueue(LinkQueue& HQ)	//检查队列是否为空
{
	return HQ.front==NULL;
}

⌨️ 快捷键说明

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