入队操作时,其实就是在链表尾部插入结点,如图4-13-3所示。
    //链队不会满的
    image.png
    图4-13-3
    rear->next = s;
    rear->s;
    其代码如下:

    1. /* 插入元素e为Q的新的队尾元素 */
    2. //链队不会满的
    3. Status EnQueue(LinkQueue *Q, QElemType e)
    4. {
    5. QueuePtr s = (QueuePtr)malloc(sizeof(QNode));
    6. /* 存储分配失败 */
    7. if (!s)
    8. exit(OVERFLOW);
    9. s->data = e;
    10. s->next = NULL;
    11. /* 把拥有元素e新结点s赋值给原队尾结点的后继, */
    12. Q->rear->next = s;
    13. /* 见上图中① */
    14. /* 把当前的s设置为队尾结点,rear指向s,见上图中② */
    15. Q->rear = s;
    16. return OK;
    17. }