当前位置 : 主页 > 编程语言 > c语言 >

队列(一)

来源:互联网 收集:自由互联 发布时间:2023-08-28
一、概念和结构 队列只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out) 。入队列:进行插入操作的一端称为队尾 。出队

一、概念和结构

队列只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out) 。 入队列:进行插入操作的一端称为队尾 。 出队列:进行删除操作的一端称为队头。 </br> 队列

二、基本操作的实现

定义结构体:

typedef int QDataType;
//队列中结点
typedef struct QueueNode
{
	QDataType val;//结点值
	struct QueueNode* next;//指向下一个结点的指针
}QNode;
typedef struct Queue {
	QNode* head;//队列头结点的指针
	QNode* tail;//队列尾结点的指针
	int size;//队列中元素个数
}Queue;

1.初始化

void QueueInit(Queue* pq)//初始化
{
	assert(pq);
	pq->head = pq->tail = NULL;
	pq->size = 0;
}

2.判断是否为空

bool QueueEmpty(Queue* pq)//判断是否为空
{
	assert(pq);
	return pq->head == NULL && pq->tail == NULL; //当队列头节点的指针和尾结点的指针都为空时队列为空
}

上一篇:句柄和指针的区别
下一篇:没有了
网友评论