队列

队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。

定义: 只允许在表的一端插入元素,而在另一端删除元素。是一种限定性的先进先出(FIFO)的线性表。

  • 队尾(rear):在队列中,允许插入的一端。

  • 队头(front):在队列中,允许删除的一端。

  • 入队(EnQueue): 在队列中,插入的过程。

  • 出队(DeQueu): 在队列中,删除的过程。

顺序队列

链队列

存储结构定义如下:

typedef struct QNode{
	QElemType data;		//数据域
	struct QNode *next;		//指针域
}QNode, *QueuePtr;

typedef struct{
	QueuePtr front; 	//队头指针
	QueuePtr rear;		//队尾指针
}LinkQueue;

基本操作初始化、销毁队列、入队、出队

尾插法入队。