0
我有以下代码迭代地反转链接列表。试图了解如何迭代地反转链接列表时修改列表
struct list {
int elem;
list *next;
};
/* .... */
void ReverseListIterative(list **listref)
{
list *currNode = *listref;
list *prevNode = NULL;
list *nextNode = NULL;
while(currNode) {
*listref = currNode;
nextNode = currNode->next;
currNode->next = prevNode;
prevNode = currNode;
currNode = nextNode;
}
}
在代码中,currNode,prevNode和nextNode都是指向ReverseListIterative()的本地指针。原始列表如何得到修改(反过来,更准确)?我们是否应该使用
list **currNode;
list **prevNode;
list **nextNode;
这样就可以修改列表节点的实际地址了吗?
我想出了同样的事情,一旦我问这个问题。我们可以在节点内更改信息,其中包括指针变量下一个包含的地址。 – curryage