简单链表,队列和栈

首先声明一个抽象类,规定List,Queue,Stack都派生自它

2019-08-25%2001-00-13%20%E7%9A%84%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE

定义列表元素

2019-08-25%2001-00-34%20%E7%9A%84%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE

规定对AbstractList类的插入元素和删除元素都有两种形式,分别是插入头,插入尾,删除头,删除尾,用一个结构体mode表示:

2019-08-25%2001-00-47%20%E7%9A%84%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE

这是链表的插入操作

删除操作

统一接口

2019-08-25%2001-02-46%20%E7%9A%84%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE

额外添加方法

定义List

定义Queue

定义Stack

疑问:如果我要做双端链表,双端队列应该要重载push方法,请问参数化方法是否优先选择类型给为具体的类型