004-双向链表
一、概念。

二、定义双向链表内部节点的数据结构。

三、定义双向链表的数据结构。定义了5个变量,first表示双向链表的头节点,last表示双向链表的尾节点,size表示双向链表的节点数量,modCount表示双向链表的修改次数。
SerialVersionUID表示双向链表的序列化号码。




四、主要操作。
1、双向链表的大小。(直接返回成员变量size的值)

插入数据相关操作:
2、双向链表的头部插入。(保存当前头节点,创建新节点,更新头节点,特殊情况的处理:空)

----------------------

----------------------

-----------------------------------------------------------------------------------------------------------------

3、双向链表的尾部插入。

---------------------

---------------------

---------------------

------------------------------------------------------------------------------

4、双向链表的指定位置的插入。(先检查指定位置这个参数合法性,然后找到指定位置处的元素,最后插入到该位置)



找到指定位置处的元素:


更新数据相关操作:
5、更新双向链表指定位置的元素。(先检查索引合法性,然后找到指定位置元素,最后更新)

查询数据的相关操作:
6、获取双向链表指定位置的元素。

7、获取双向链表头节点的元素。

----------------------

-----------------------

8、获取双向链表尾节点的元素。

-----------------------

10、获取双向链表指定元素的第一个索引。(不存在则返回-1)

11、获取双向链表指定元素的倒数第一个索引。(不存在则返回-1)

12、判断双向链表是否存在指定的元素。

删除数据的相关操作:
13、删除双向链表的第一个节点。(如果头节点为空,则会抛出异常;返回头节点元素)

---------------------


14、删除双向链表的最后一个节点。(如果头节点为空,则会抛出异常;返回尾节点元素)


15、删除第一个包含指定元素的节点。(如果不存在该元素的节点,则返回false)


15、删除指定位置的节点。

16、删除头节点。(如果头节点为空,则会返回null,而不会抛出异常;否则返回删除的节点的元素)

17、删除头节点。(如果头节点为空,则会返回null,而不会抛出异常;否则返回删除的节点的元素)

18、删除尾节点。(如果头节点为空,则会返回null,而不会抛出异常;否则返回删除的节点的元素)

19、删除头节点。

20、删除指定元素的第一个节点。

21、删除指定元素的倒数第一个节点。

22、删除所有元素。

双向链表转换成数组的操作:
23、双向链表转换成数组。

24、集合转换。(不懂这是干嘛的)

2、双向链表的插入。
2、双向链表的插入。
2、双向链表的插入。
2、双向链表的插入。

浙公网安备 33010602011771号