栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【数据结构】链表的模拟实现(双向链表)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【数据结构】链表的模拟实现(双向链表)

学习是一个循序渐进的过程,在模拟实现完单向链表后,接下来实现双向链表,且双向链表就是我们使用Java库里面的链表时候的底层的样子,所以现在来模拟实现一遍。

其实在实现完单向链表之后,双向链表就已经很简单了,具体实现思路我们不过多阐述,代码里面有注释,但会在需要注意的地方进行表述和解释。

双向链表图解:

 主要需要实现功能:


1:实现双向链表头插。

2:实现双向链表尾插。

3:实现双向链表全部元素打印。

4:实现得到双向链表元素个数。

5:实现双向链表某个位置插入元素。

6:实现双向链表某个位置删除元素。

7:实现双向链表删除根据传入某个需要删除的元素。

8:实现双向链表判断是否包含某个元素。


 

在实现功能之前,双向链表定义是跟单向链表定义差不多的,主要不同点在于多了一个成员是前驱prev用于记录结点前一个元素:

 

1)实现双向链表头插:

 2)实现双向链表尾插:

 3)实现双向链表所有元素打印:

 4)实现得到双向链表元素个数:

因为在每一个添加和删除的方法里面都有size加减,故直接调用对象的size就可以得到元素个数。



5)实现双向链表某个位置插入元素:



 

6)实现双向链表某个位置删除元素:
 

7) 实现双向链表删除根据传入某个需要删除的元素

 

8) 实现双向链表判断是否包含某个元素:

测试样例:
1:头插元素:

 2:尾插元素:

 

 3:在某位置插入结点:

 4:删除某个节点元素:

3.1:测试异常情况:

 4:测试是否包含某个元素结点:

 

5:删除某个元素:


 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/872497.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号