数据结构单链表的前插法实现

单链表的前插法实现可以通过以下步骤进行:

  1. 创建一个新的节点,并将要插入的元素存储在新节点的数据域中。

  2. 将新节点的指针域指向原链表的头节点。

  3. 将原链表的头节点指向新节点。

具体代码实现如下所示:

python 复制代码
class Node:
    def __init__(self, data):
        self.data = data
        self.next = None

def insert_list_front(head, data):
    new_node = Node(data)  # 创建新节点
    new_node.next = head  # 将新节点的指针域指向原链表的头节点
    head = new_node  # 将原链表的头节点指向新节点
    return head

# 创建一个单链表
head = Node(1)
second = Node(2)
third = Node(3)

head.next = second
second.next = third

# 在单链表的前面插入一个新节点
head = insert_list_front(head, 0)

# 打印插入节点后的链表
current = head
while current:
    print(current.data, end=" ")
    current = current.next

输出结果为:0 1 2 3,表示在原链表的前面插入了一个新节点0。

相关推荐
磊 子1 小时前
AVL树的讲解
数据结构·算法
辞忧九千七1 小时前
吃透Redis7核心数据结构:从基础用法到实战场景(Python版)
开发语言·数据结构·redis·python
悠仁さん1 小时前
数据结构 树 二叉树 堆 (链式二叉树模拟实现篇)
数据结构·算法
better_liang1 小时前
每日Java面试场景题知识点之-MySQL底层数据结构B+树
java·数据结构·mysql·性能优化·面试题·b+树·数据库索引
洛水水2 小时前
【力扣100题】62.滑动窗口最大值
数据结构·算法·leetcode
浅念-2 小时前
LeetCode刷题专题:FloodFill泛滥填充算法剖析
数据结构·算法·leetcode·职场和发展·深度优先·宽度优先
兰令水4 小时前
leecodecode【滑动窗口】【2026.5.27打卡-java版本】
java·数据结构·算法
Brilliantwxx4 小时前
【算法题】 面试级别的二叉树题目OJ复习(上)
数据结构·c++·笔记·算法·面试
玖釉-16 小时前
下一个排列:从字典序到原地算法的完整推导
数据结构·c++·windows·算法
枕星而眠17 小时前
数据结构八大排序详解(一):四大简单排序
c语言·数据结构·c++·后端