队列的链式存储结构,
其实就是线性表的单链表,只不过它只能尾进头出而已,我们把它简称为链队列。
为了操作上的方便,
- 我们将队头指针指向链队列的头结点,
- 而队尾指针指向终端结点,
如图4-13-1所示。
图4-13-1
空队列时,front和rear都指向头结点,如图4-13-2所示。
图4-13-2
链队列的结构为:
/* QElemType类型根据实际情况而定,这里假设为int */
typedef int QElemType;
/* 结点结构 */
typedef struct QNode
{
QElemType data;
struct QNode *next;
} QNode, *QueuePtr;
/* 队列的链表结构 */
typedef struct
{
/* 队头、队尾指针 */
QueuePtr front, rear;
} LinkQueue;