python中的链表和列表有什么区别

Python012

python中的链表和列表有什么区别,第1张

列表是python的一种数据结构,每个列表可以没有或者是多个元素,每个元素可以是字符,数据,列表,或者是字典。

python中没有指针,所以对于C语言来的链表,只能是一个模拟链表,一般都是通过一个class来定义node,node中的self。value就是对应的数据,self。p指向下一个node。

通过上面的分析我们可以看到他们有相同的地方就是他们都是数据存储的手段,列表是python的基础元素,范围很广,数据是连续存放,链表相对来说应用的范围比较少,数据是不连续存放,一般都是用于高效合并的数据结构。

链表: 其中的各对象按线性顺序排列,其顺序有各个对象里的指针决定,为动态集合提供了一种简单而灵活的表示方法。

双向链表: 每一个元素都是一个对象,每个对象有一个关键字key和两个指针:next和prev。如果元素x没有前驱,所以是链表的第一个元素head,若元素x没有后继,因此是链表的最后一个元素tail。如果L.hand=NIL,则链表为空。