将元素从头部移动到双向链表的末尾

时间:2014-02-11 09:52:48

标签: data-structures

如何从头部删除节点,并将其添加到双向链表的末尾?

我只有一个双向链表(比如5个节点),我想删除第一个节点并将其添加到最后。

在:

   1->2->3->4->5

预期结果:

   2->3->4->5->1

2 个答案:

答案 0 :(得分:2)

只需修改头部和尾部指针:

temp = head;
head = head->next;
head->prev = NULL;

tail->next = temp;
temp->prev = tail;
tail = tail->next;
tail->next = NULL;

答案 1 :(得分:1)

保持两个变量(head& tail)分别指向双向链表的开头和结尾。

temp = head
head = head.next
head.prev = null

tail.next = temp
temp.prev = tail
tail = tail.next
tail.next = null