how do i reverse a circular double linked list
I have a circular double linked list see
for a description of circular double linked list.
I want to reverse the list with a function called
void reverse(list_t** head ); or maybe void reverse(list_t** head, list_t* last);
where head is the first element and last is the last element.
My first implementation was to start from last element until i reach the first element and put those element in a new double linked list until. (every element is inserted last in the list)
However i changed the requirement for me and i do not want to have a new list to move element on it.
I want to use same list but i always succeed to loose reference to some element.
Therefore i hope that some of you can help me with that and i appreciate if somebody can help me with this ( it is enough with a pseudo code description)
To make it shorter i want to use same list and reverse it without using a temporary linked list
Thanks for all help