Linked List
)是一种稍微复杂一点的数据结构,掌握起来也要比数组稍难一些。链表是通过“指针”将一组零散的内存块串联起来使用。数组的线性序是由数组的下标来决定的,而链表的的顺序是由各个对象中的指针来决定。Are
跟在 We
的后面,而不是说 Are
是这个链表的第二个元素。遍历该链表,就是顺着指针,从链表的首元素走到尾元素。Node
类用来表示节点,LinkedList
类提供节点插入、删除和查找。LinkedList
类提供了所有对链表进行操作的方法。在构造函数中,我们用一个 Node
对象来保存该链表的头节点。null
,每当调用 insert
方法时,next 就会指向新的元素。find
方法来遍历链表,查找数据。null
。next
指针指向“后面”的节点的 next
指针对应的节点(可能有点绕,看图),再把“后面”节点的 next
指针指向该新节点,一个完美的插入就完成了。注意:我们这次找的是待删除节点的前一个节点,所以先来定义一个findPrev
方法
remove
prev
的指针就可以解决问题了。Node
基础上,增加一个 prev
指针。prev
指针,我们对之前的代码稍作修改:findPrev
方法,话不多说,看图看代码。