我正在尝试撤消链接列表并发现运行它的问题。 代码只会在显示时产生错误。它在显示时进入无限循环。我有正确的步骤吗?
void Header::reverse()
{
Node* nodePtr = head;
Node* first = head;
Node* temp = NULL;
while(nodePtr)
{
temp = nodePtr;
nodePtr = nodePtr->next;
temp->next = first;
first = temp;
}
head = first;
}
这是我的类代码的一部分 ....
enter code here
class Header
{
private:
struct Node
{
Node* next;
int value;
};
Node* head;
.....
谁能告诉我这里我做错了什么?
答案 0 :(得分:1)
首先必须为NULL,否则在第一次迭代中你基本上是
head->next = head;