双向链表
双向链表也叫双向表,是链表的一种,它由多个结点组成,每个结点都由一个数据域和两个指针域组成,数据域用来存储数据,其中一个指针域用来指向其后继结点,另一个指针域用来指向前驱结点。链表的头结点的数据域不存储数据,指向前驱结点的指针域值为null,指向后继结点的指针域指向第一个真正存储数据的结点。

 结点API设计
| 类名 | Node | 
|---|---|
| 构造方法 | Node(T t,Node pre,Node next):创建Node对象 | 
| 成员变量 | T item:存储数据 Node next:指向下一个结点 Node pre:指向上一个结点 | 
双向链表API设计
| 类名 | TowWayLinkList | 
|---|---|
| 构造方法 | TowWayLinkList():创建TowWayLinkList对象 | 
| 成员方法 | 1.public void clear():空置线性表  2.publicboolean isEmpty():判断线性表是否为空,是返回true,否返回false 3.public int length():获取线性表中元素的个数 4.public T get(int i):读取并返回线性表中的第i个元素的值 5.public void insert(T t):往线性表中添加一个元素; 6.public void insert(int i,T t):在线性表的第i个元素之前插入一个值为t的数据元素。 7.public T remove(int i):删除并返回线性表中第i个数据元素。 8.public int indexOf(T t):返回线性表中首次出现的指定的数据元素的位序号,若不存在,则返回-1 9.public T getFirst():获取第一个元素 10.public T getLast():获取最后一个元素  | 
| 成员内部类 | private class Node:结点类 | 
| 成员变量 | 1.private Node first:记录首结点 2.private Node last:记录尾结点 3.private int N:记录链表的长度  | 
代码实现:待补充…



















