链表的基础知识不再提及,单项链表的结构如图所示
声明
- 以下方法中,head指向的节点即头节点的下标(index)为0,即第一个有数据的节点的下标为1。
- 以下方法中,未判断各种特殊情况,如下一个节点不存在的情况,因为如果下一个节点不存在,next为null,正好赋值给了尾节点的next,或正好中断了循环,完全符合逻辑,无需判断各种情况。
- 以下方法未详细描述,可结合链表结构图理解代码
实现步骤
1、创建节点构造函数
class Node{
constructor(data){
this.data = data
this.next = null
}
}
2、创建单向链表构造函数
class SinglyLinkedList{
constructor(){
this.head = new Node() //head指向头节点
}
}
3、在链表末尾添加节点的add方法
链表的最后一个节点的next为null,经过while循环之后,变量current就是最后一个节点
add(data){
let node = new Node(data)
let current = this.head
while(current.next){
current = current.next
}
current.next &