前面我们学习了 先进先出、后进后出 的线性表- 队列,并且我们是使用数组进行了实现,那么这节课我们来使用链表来实现队列,即链队列!
队列的定义
队列(Queue)也是一种线性表, 但是它仅能在一端进行插入,而另一端进行删除的操作 ,插入的一端称为 队尾rear,删除的一端称为 队头front 。 向一个栈插入新元素又称作进队或入队, 从一个栈删除元素又称作出队或离队 。显而易见,它的特性是 先进先出、后进后出 。
链式队列内存中的结构
链式队列的特点
先进先出、后进后出
队列的定义一般遵循此结构:
//链表结构
struct Node
{
ElemType elem;
struct Node* next;
};
//定义队列
struct Queue
{
struct Node* front;// 队头删除
struct Node* rear; // 队尾插入
};
从上面我们可以看出&