Python程序 添加元素到链表
什么是链表
当数据不存储在连续的内存位置中时,搜索所有内存位置以获取所需数据需要花费大量时间。为了防止这种情况,我们使用链表。
在Python中,链表是一种按顺序存储项目的数据结构。它由节点组成,每个节点都包含项目和指向列表中下一个节点的引用。第一个节点称为头部,而最后一个节点称为尾部。
链表用于高效的插入和删除操作,因为新项目可以在列表中的任何位置添加或删除,而不必移动其周围的所有其他元素。此外,它们占用的内存空间比数组少,因为只需要存储引用而不是每个元素的副本。
链表由节点组成。每个节点包含
- 数据
-
下一个节点的链接(通常是一个指针)
HEAD将包含指向第一个节点的链接。最后一个节点将指向NULL。有3种情况可将元素添加到链接列表中:您可以将元素添加到开头,结尾或中间(在开头和结尾之外的任何位置)
在开头添加元素
新节点添加到链表的头部。新添加的节点将成为链接列表的头部。
考虑具有3个节点A、B和C的链接列表。要在开头添加新节点D。
算法
步骤1 – 首先,创建要添加到链接列表开头的新节点,并分配数据。
步骤2 – 现在,将新节点指向头部。
步骤3 – 使头部指向新创建的节点的地址。
函数实现
在结尾添加元素
将新节点添加到最后一个节点之后,新节点指向NULL。考虑具有3个节点A、B和C的链接列表。要在结尾添加新节点D。
算法
步骤1 – 创建要添加到链接列表开头的新节点,并分配数据并将其指向NULL。
步骤2 – 遍历到链接列表的末尾(当你遇到NULL时,链接列表就结束了)
步骤3 – 使最后一个节点指向新创建的节点
函数实现
在中间添加元素
将要插入新节点的位置与数据一起给出。我们需要在该位置插入新节点。
考虑具有4个节点A、B、C和D的链接列表。必须在位置3(表示在节点B之后添加)插入新节点E
算法
步骤1 – 创建要添加到链接列表中间的新节点并分配数据。
步骤2 – 遍历列表,直到新节点的位置之前。
步骤3 – 假设您要在位置“x”插入新节点
-
遍历直到x-1。
-
将新节点指向(x-1.next)。
-
将x-1指向新节点。