因为我没有机器来测试这个,所以我需要你的帮助。单个链接列表节点成为垃圾数据时?
如果我给你
L.head = NULL
将L
变空,因为有 没有head
?如果我给你
L.head = L.next.next
(第3点)之前的两个节点 将作为垃圾收集器(假设使用Java)是否正确?
我试图写一个方法cutToInteger
为下面的照片是下面的,正确的,如果我错了:
void cutToInteger (IntSLList L , int n){
IntSLList tmp =L.head ;
while(tmp != NULL || !tmp.into.equals(n)){
tmp=tmp.next;
}
L.head = tmp;
}
的实施似乎很容易,但节点的逻辑成为垃圾要删除的数据总是让我感到困惑。
UPDATE:这里是上面的截图
的方法空隙cutToNumber(IntSLList L,INT N),削减的整数单链接列表L从头部开始,直到它到达问题整数n。如果n不在L中,则列表变为空。
我认为我写的方法有错误。 'tmp'应该复制'L'列表。 – Sobiaholic
回答你的前两个问题:是的,我相信是这样,因为现在什么都没有引用头节点,因此它变成垃圾收集。第二个问题的类似概念。 – Clark
我认为while循环应该是while(tmp-> next!= NULL ||!tmp.into.equals(n)) – rbhawsar