【数据结构】:链表(Python实现)

链表这个数据结构在我们做题时非常常见,链表上的每一个元素都包含了两个值,一个值是自身的值,另外一个值则是指向下一个元素的地址,这样一整个链表才能够串连起来。如下所示:其中第一个为单链表,每一个元素都指向了下一个元素,最后一个元素指向了None。第二个为循环链表,也是每一个元素都指向了下一个元素,只是最后一个元素不指向None,而是指向链表当中的第一个元素,这样整个链表就不断循...
摘要由CSDN通过智能技术生成

链表这个数据结构在我们做题时非常常见,链表上的每一个元素都包含了两个值,一个值是自身的值,另外一个值则是指向下一个元素的地址,这样一整个链表才能够串连起来。如下所示:

 

 其中第一个为单链表,每一个元素都指向了下一个元素,最后一个元素指向了None。

第二个为循环链表,也是每一个元素都指向了下一个元素,只是最后一个元素不指向None,而是指向链表当中的第一个元素,这样整个链表就不断循环链接起来了。

第三个为双向链表,每个元素当中包含了三个值,每个元素包含了上一个元素的地址,下一个元素的地址,另外包含了自身的值的大小,这样就形成了一个一个双向链表。

 

那么我们如何使用Python来实现一个最基本的单链表呢?代码如下所示:

class ArrayList:
    def __init__(self, x):
        self.val = x
        self.next = None  # 这里next指向的是一个对象,而不是一个数值

if __name__=='__main__':
    l1=ArrayList(1)
    l2=ArrayList(2)
    l3=ArrayList(3)
    l1.next=l2
    l2.next=l3
    l3.next=None

这样就形成了一个简单的单向链表,同时这个单向链表一共具有三个节点node。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值