题16

题目

Q:在一个链队列中,假设队头指针为 front,队尾指针为 rear, x 所指向的元素需要入队,则需要执行的操作为 ( ) .
A. front = x, front = front->next
B. x->next = front->next, front = x
C. rear->next = x, rear = x
D. rear->next = x, x->next = NULL, rear = x

分析

A:插入操作时,先将结点 x 插入到链表尾部,再让 rear 指向这个结点 xC 的做法不够严密, 因为是队尾,所以队尾 x->next 必须置为空。

// 插入结点到链表尾部
rear->next = x;
rear = x;
// 队尾结点的next指针必须置为空
x->next = NULL;

D