Possible Duplicate:
Reverse every k nodes of a linked list
Say the linked list is <1,3,6,4,8,9,0,2>. Calling reversek(3) would result in <6,3,1,9,8,4,2,0>. I have written the reverse function which may be used as a helper function in reversek. Here's my reverse function which reverses from a given starting point to a given ending point:
void List::reverse(Node * & start, Node * & end)
{
Node *pter = start;
while (pter != NULL)
{
Node *tmp = pter->next;
pter->next = pter->prev;
pter->prev = tmp;
if (tmp == NULL)
{
endPoint = startPoint;
startPoint = pter;
}
pter = tmp;
}
I'm confused about how to implement reversek, any help is appreciated.