【发布时间】:2018-05-22 10:23:22
【问题描述】:
当我在做一些链表练习时,我的问题出现了。我的任务是将两个链表合并为一个,所以我首先需要获取第一个链表的最后一个节点的地址,并将第二个链表的第一个节点分配给我的第一个链表中最后一个节点的下一个节点列表,即
list1->last->next = list2->first;
所以我们都知道,list1.last->next 是 NULL,让我们说如果我这样做:
Node * lastNext = list1->last->next;
lastNext = list2->first;
这行得通吗?
谢谢大家!
【问题讨论】:
-
注意:与编辑历史所说的相反,我没有投票关闭这个问题作为重复。它不是,至少不是所引用的问题。我投票决定关闭它,因为它是“不清楚你在问什么”。
-
是的,在画了几张图表后,我意识到你在回答中所说的话。指针相等并不意味着它们变成相同的东西,尽管我一开始就知道,但似乎我还没有完全掌握完整的概念,所以有时我仍然会犯错误。这个问题与NULL无关。即使 list1->last->next 不为 NULL,我在这里所做的只是将 lastNext 的引用从 list1->last->next 更改为 list2->first 并且不会以任何方式影响列表。无论如何,我总是必须将头分配给第一个列表中最后一个节点的下一个指针。