标题 双向链表封装
1.基本实现思路:
1.创建链表类
2.添加head属性 (表示链表头部)
3.添加 tail属性(表示链表尾部)
4.添加length 属性 (记录链表长度)
5.创建内部类(节点类)
6.添加prev属性(指向前一个节点)
7.添加data属性(节点数据)
8.添加next属性(指向下一个节点)
2.在原型上面添加append方法
1.判断是否传入的是第一个元素
2.进入true判断
3.创建新的节点
4.把新的节点赋值给head属性
5.把新的节点赋值给tail属性
6进入false判断
7.把新节点的prev属性指向前面节点(this.tail = newNode.prev)
8.把前面节点的next属性指向新的节点(this.tail.next = newNode)
9.确保this.tail永远指向最有一个节点
10.this.tail = newNode