prev.next??

来源:4-2 在链表中添加元素

慕码人4120781

2019-09-01

不是很理解的是 为什么后面直接prev.next就可以将prev指向下一个节点了呢?prev本身只是一个变量呀。。这个.next是调用了上面的一个函数,一个对象的属性还是啥?函数吧上面也没有next这么一个函数,对象吧,prev也不是个对象呀 就很疑惑= =
图片描述

写回答

1回答

liuyubobobo

2019-09-01

next 是 Node 的一个属性,即 Node 的成员变量。回忆 Node 的定义:

private class Node{    
    public E e;    
    public Node next;  // next 在这里。
    
    ...
}


prev 是一个对象,声明在这个for循环的上面

Node prev = head;


prev = prev.next 这句话将 prev 这个 Node 的 next 指向的 Node 赋值给了 prev,

即让 prev 指向了原先 prev.next 指向的 Node


继续加油。

0
2
liuyubobobo
回复
慕码人4120781
这里 prev 指向 head 本来只想的对象,即 prev 和 head 指向同一个对象,而没有创建一个新对象。 Dog dog = new Dog(); Dog dog2 = dog; dog 和 dog2 指向同一个对象。
2019-09-01
共2条回复

玩转数据结构

动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…

6221 学习 · 1704 问题

查看课程