链表这个数据结构在我们做题时非常常见,链表上的每一个元素都包含了两个值,一个值是自身的值,另外一个值则是指向下一个元素的地址,这样一整个链表才能够串连起来。如下所示:
其中第一个为单链表,每一个元素都指向了下一个元素,最后一个元素指向了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。