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

📅  最后修改于: 2021-09-08 12:53:28             🧑  作者: Mango

考虑以下函数,该函数引用双向链表的头部作为参数。假设双向链表的一个节点的上一个指针为prev ,下一个指针为next

void fun(struct node **head_ref)
{
    struct node *temp = NULL;
    struct node *current = *head_ref;
  
    while (current !=  NULL)
    {
        temp = current->prev;
        current->prev = current->next;
        current->next = temp;
        current = current->prev;
    }
  
    if(temp != NULL )
        *head_ref = temp->prev;
}

假设以下双向链表的头部引用传递给上面的函数

1 2 3 4 5 6。

函数调用后修改的链表应该是什么?
(A) 2 1 4 3 6 5
(B) 5 4 3 2 1 6。
(C) 6 5 4 3 2 1。
(D) 6 5 4 3 1 2答案: (C)
说明:给定的函数反转给定的双向链表。有关详细信息,请参阅反转双向链表。