📜  数据结构|链表|问题7

📅  最后修改于: 2021-06-28 22:14:33             🧑  作者: Mango

以下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
这个问题的测验