队列的链式存储结构,其实就是线性表的单链表,只不过它只能尾进头出而已,我们把它简称为链队列。为了操作上的方便,我们将队头指针指向链队列的头结点,而队尾指针指向终端结点,如图4-13-1所示。
    image.png
    空队列时,front和rear都指向头结点,如图4-13-2所示。
    image.png
    链队列的结构为:

    1. /* QElemType类型根据实际情况而定,这里假设为int */
    2. typedef int QElemType;
    3. /* 结点结构 */
    4. typedef struct QNode{
    5. QElemType data;
    6. struct QNode *next;
    7. } QNode, *QueuePtr;
    8. /* 队列的链表结构 */
    9. typedef struct{
    10. /* 队头、队尾指针 */
    11. QueuePtr front, rear;
    12. } LinkQueue;