假设链表是< 1,3,6,4,8,9,0,2>。调用reversek(3)将导致< 6,3,1,9,8,4,2,0>。我编写了反向函数,可以在reversek中用作辅助函数。这是我的反向函数,它从给定的起始点反转到给定的结束点:
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;
}
我对如何实施reversek感到困惑,任何帮助都表示赞赏。
答案 0 :(得分:0)
尝试类似 -
在这里,您必须跟踪P1到达每个第3个节点的时间。例如,它是3,但它取决于函数参数。