当前位置:首页 > 房产信息

双向链表 用Python实现一个 LinkedList(双向链表)

说到LinkedList,相信大部分Java开发者都知道。但是皮唐纳可能不知道。

分享之前,我先说说我为什么写这篇文章。

大部分读者都知道我是安卓开发者,我最熟悉的语言是Java。集合在Java中其实是一个很重要的概念,LinkedList只是集合中的一个实现类。当然,LinkedList不是Java中唯一的集合,但它是Java中使用双链表的代表性类。

许多Java开发人员可能知道双链接列表的结构和好处,毕竟JDK已经提供了类链接列表。

这次我也是通过JDK LinkedList的实现原理,用Python来实现这样的数据结构。本文还将让您对这种数据结构有更深入的了解。

好的,文本...

至于“集合”是什么,不用细说,可以理解为一组元素。

其实说到LinkedList,会有一个相对集合ArrayList。这两个是Collection的实现类。当然,两者是有区别的。ArrayList用数组实现,LinkedList用链表实现(双向)。

为什么会有这样的数据结构集合?

在讨论这个之前,我先对这两种数据结构做一个科学的研究。

众所周知,数组可以理解为一组线性的、连续存储的数据结构。链表是由指针关联的数据结构。

例如:

如上,从迭代器继承的子类。我们在构造函数中添加了外部参数,因为我们需要在链接列表中使用链接列表中的参数,所以我们在构造函数中添加了一个外部传入链接列表的实例

5.开始实施链接列表

上面的步骤已经提供了我们编写LinkedList所需的基本类,接下来我们可以具体实现逻辑了。

在实现逻辑之前,需要再提一下:前面的内容提到了两个“标记节点”,一个头节点和一个尾节点。

因此,我们需要在构造函数中添加这两个标记节点。

一、构造函数

尺寸(自身)

事实上,大小方法非常简单,因为每次我们添加时,都会增加这个大小。因此,该大小必须是该链表的长度。

我是空的

直接判断这个大小就可以了。

f、移除(自身、索引)

明白了加的逻辑,再去掉就比较简单了。我们得到需要删除的节点,然后修改前驱动器和后驱动器。

您可以返回一个自定义迭代器的实例,输入参数是当前的LinkedList实例。

最后,让我们测试这个链接列表

打印结果如下:

1.《双向链表 用Python实现一个 LinkedList(双向链表)》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《双向链表 用Python实现一个 LinkedList(双向链表)》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/fangchan/1039528.html

上一篇

夫妻吵架丈夫吞妻子奖牌 夫妻两人分别是散打冠军和跆拳道冠军

下一篇

南京试行2.5天休息制度 目前是什么情况?

链接交易 解密|区块如何链接成区块链

  • 链接交易 解密|区块如何链接成区块链
  • 链接交易 解密|区块如何链接成区块链
  • 链接交易 解密|区块如何链接成区块链

回调函数 JS异步编程,回调函数与promise

Promise是异步编程的一种解决方案,比传统的解决方案——回调函数和事件更合理、更强大。它最初是由社区提出并实现的,ES6将其写入语言标准,统一其用法,并在本地提供 承诺 对象。 在ES6之前,Java中的异步编程分为三类:DOM事件(比如onclick)、网络请求(比如ajax)、定时器...

hlookup 你会用HLOOKUP函数吗?

  • hlookup 你会用HLOOKUP函数吗?
  • hlookup 你会用HLOOKUP函数吗?
  • hlookup 你会用HLOOKUP函数吗?

linux创建文件 如何使用ln命令在Linux中创建符号链接

  • linux创建文件 如何使用ln命令在Linux中创建符号链接
  • linux创建文件 如何使用ln命令在Linux中创建符号链接
  • linux创建文件 如何使用ln命令在Linux中创建符号链接

countifs函数怎么用 excel函数应用:怎么用函数公式快速进行非重复计数

  • countifs函数怎么用 excel函数应用:怎么用函数公式快速进行非重复计数
  • countifs函数怎么用 excel函数应用:怎么用函数公式快速进行非重复计数
  • countifs函数怎么用 excel函数应用:怎么用函数公式快速进行非重复计数
双11咋买更优惠 用函数模型帮妈妈做攻略

双11咋买更优惠 用函数模型帮妈妈做攻略

关注店铺领取10元优惠券,与三个朋友分享链接1000元以上减150元,“双11”购物跨店津贴400元以上减50元,红包存钱卡可领取91元...那么问题来了:原价328元的百褶裙最低价是多少?如何以更好的价格购买?在今年“双...

r2v下载 教你如何将图片转成CAD文件,内附R2V32软件下载链接【AutoCAD教程】

  • r2v下载 教你如何将图片转成CAD文件,内附R2V32软件下载链接【AutoCAD教程】
  • r2v下载 教你如何将图片转成CAD文件,内附R2V32软件下载链接【AutoCAD教程】
  • r2v下载 教你如何将图片转成CAD文件,内附R2V32软件下载链接【AutoCAD教程】
ln的运算法则 大学高等数学:第二章第三讲导数四则运算及复合函数微分法则

ln的运算法则 大学高等数学:第二章第三讲导数四则运算及复合函数微分法则

对于基本初等函数的导数,一定要熟悉。这是高中学的一个知识点。对于基本初等函数和复合函数的导数,关键是适当选取中间变量,将给定的初等函数分解成基本初等函数的复合或四次运算。复合函数求导时,首先要导出中间变量,自变量要乘以中间变量,这样每一步都是基本初等函数的求导。(2)解:y ' =-sin(...