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

📄 linkqueue.cpp

📁 实现图的广度优先遍历:数据结构课程设计
💻 CPP
字号:
#include"LinkQueue.h"
bool initQueue(LinkQueue &Q)
{
	//构造一个带头节点的空队列(以链表表示)
	Q.front =Q.rear =(QueuePtr)malloc(sizeof(QNode));
	if(!Q.front) return false;	//分配节点失败
	Q.front ->next =NULL;
	return true;
}
bool queueEmpty(LinkQueue Q)
{
	//判断队列是否为空。若为空,返回true;否则返回false
	if(Q.rear ==Q.front )
		return true;
	else
		return false;
}
bool EnQueue(LinkQueue &Q, QElemType e)
{
	//插入新的元素
	QNode *node=(QNode *)malloc(sizeof(QNode));
	if(!node) return false;
	node->next =NULL;
	node->data =e;
	Q.rear ->next =node;
	Q.rear =Q.rear ->next ;
	return true;
}
bool DeQueue (LinkQueue &Q,QElemType &e)
{
	//若队列不空,将对头元素赋值给e,并删除对头元素
	if(Q.front==Q.rear )	return false;
	QueuePtr q=Q.front->next ;
	e=q->data ;
	Q.front ->next =q->next ;
	if(Q.rear==q)Q.rear =Q.front ;	//队列中只有一个节点
	free(q);
	return true;
}

⌨️ 快捷键说明

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