以下C函数将简单链接列表作为输入参数。它通过将最后一个元素移到列表的前面来修改列表,并返回修改后的列表。代码的某些部分留为空白。选择正确的替代方法来替换空白行。
typedef struct node
{
int value;
struct node *next;
}Node;
Node *move_to_front(Node *head)
{
Node *p, *q;
if ((head == NULL: || (head->next == NULL))
return head;
q = NULL; p = head;
while (p-> next !=NULL)
{
q = p;
p = p->next;
}
_______________________________
return head;
}
(A) q = NULL; p-> next = head;头= p;
(B) q->下一个= NULL;头= p; p-> next = head;
(C)头= p; p-> next = q; q-> next = NULL;
(D) q->下一个= NULL; p-> next = head;头= p;答案: (D)
说明:请参阅https://www.geeksforgeeks.org/data-structures-and-algorithms-set-24/的问题1
这个问题的测验