也就是我们之前实现的链表结构。单向链表只能从头遍历到尾或者从尾遍历到头(当然一般都是从头到尾)。换言之,链表链接的过程是单向的。
实现原理是上一个节点有指向下一个节点的引用。
即可以从头遍历到尾,也可以从尾遍历到头
一个节点即有向前连接的引用,也有向后连接的引用。
// 封装双向链表
function TwoWayLinkList() {
// 属性
this.head = null
this.tail = null
this.length = 0
// 用于创建节点的内部类
function Node(data) {
this.data = data
this.prev = null
this.next = null
}
}
复制代码
然后,以下的操作方法。可以按照增删改查的顺序来看: