zoukankan      html  css  js  c++  java
  • 【数据结构】:链表(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。

  • 相关阅读:
    [718. 最长重复子数组]
    排序算法--归并,堆,快速排序
    改进的插排--希尔排序
    排序算法--选泡插
    对封装继承多态的理解
    Servlet[springmvc]的Servlet.init()引发异常
    [面试题 16.18. 模式匹配]
    [124. 二叉树中的最大路径和](
    7.29_python_lx_day11
    7.28_python_lx_day18
  • 原文地址:https://www.cnblogs.com/geeksongs/p/13496016.html
Copyright © 2011-2022 走看看