2014-02-11 2 views
0

Как удалить узел из головы и добавить его в конец дважды связанного списка?Перемещение элемента из головы в конец дважды связанного списка

У меня есть только один связанный список (скажем, с 5 узлами), я хочу удалить первый узел и добавить его в конец.

До:

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

Ожидаемый результат:

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

ответ

1

Просто измените голова и хвост указатели:

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

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

поддерживать две переменные (голова & хвост), указывающие на начало и конец двусвязного списка соответственно.

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

tail.next = temp 
temp.prev = tail 
tail = tail.next 
tail.next = null 
+0

насчет tail.prev? –

+0

@RikayanBandyopadhyay спасибо .. Я исправил это. +1 за ваш ответ – naresh

Смежные вопросы