用C语言实现链表,因为c有指针,可以很方便的控制内存,很方便就实现链表,其他的语言,则没那么方便,有很多都是用模拟链表,不过这次我不是用模拟链表来实现,因为python是动态语言,可以直接把对象赋值给新的变量。
简单说说链表吧。在我们存储一大波数据时,我们很多时候是使用数组,但是当我们执行插入操作的时候就是非常麻烦,看下面的例子,有一堆数据1,2,3,5,6,7我们要在3和5之间插入4,如果用数组,我们会怎么做?当然是将5之后的数据往后退一位,然后再插入4,这样非常麻烦,但是如果用链表,我就直接在3和5之间插入4就行,听着就很方便。
那么链表的结构是怎么样的呢?顾名思义,链表当然像锁链一样,由一节节节点连在一起,组成一条数据链。

[1]. python数据结构之链表(一)
[2]. Python链表
链表的缺点在于不能通过下标访问对应的元素。因此我们可以考虑对链表进行遍历,同时将遍历到的元素依次放入数组 A 中。
class Solution:
def middleNode(self, head: ListNode) -> ListNode:
A = [head]
while A[-1].next:
A.append(A[-1].next)
本文探讨了使用C语言和Python实现链表的不同方式。C语言利用指针控制内存,轻松实现链表;而Python作为动态语言,直接赋值对象即可。文章详细解释了链表在插入操作上的优势,与数组相比,链表插入更高效,只需在目标位置直接插入新节点。同时,文章还提到了链表的遍历方法,并提供了Python链表实现的代码示例。
748

被折叠的 条评论
为什么被折叠?



