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

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

 

 其中第一个为单链表,每一个元素都指向了下一个元素,最后一个元素指向了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。

 

posted @ 2020-08-13 13:56  Geeksongs  阅读(510)  评论(0编辑  收藏  举报

Coded by Geeksongs on Linux

All rights reserved, no one is allowed to pirate or use the document for other purposes.