我在LinkedList
的开头插入单词,并使用head和next全局变量来执行此操作。
例如:
Node *head;
Node *nextNode;
....
Node *newNode;
newNode = (Node*)malloc(sizeof(Node));
if(newNode != NULL)
{
newNode->item = strdup(new_string);
newNode->next = head;
head = newNode;
nextNode = head->next;
}
更改头部变量是正确的,但我不确定您是否可以将nextNode
设置为接下来的头部位置。 (我认为你必须像使用head变量一样分配它。)有没有人对我如何不断更新nextNode
变量有任何解释?
编辑: 我跟踪头部和下一个节点的原因是因为我创建了一个遍历方法,在调用时,会给出节点中的当前项目。例如;
char* nextItem()
{
char* nextWord = NULL;
if(nextNode != NULL)
{
nextNode = nextNode->next;
nextWord = nextNode->item;
}
return nextWord;
}