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

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

  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。

相关推荐
旖旎夜光41 分钟前
LeetCode 30:串联所有单词的子串(滑动窗口) —— 题解
数据结构·c++·算法·leetcode·滑动窗口
白狐_7981 小时前
408 数据结构|完全二叉树两道典型题:第 6 层叶结点数与叶结点总数
数据结构·算法
郝学胜_神的一滴2 小时前
并查集深度入门:从玄学抽象到 QuickFind & QuickUnion 源码实战
数据结构·算法
GeekZHR2 小时前
C语言指针2:数组名、二级指针、指针数组,一次把“指针和数组“讲透
c语言·数据结构·算法·指针
烬羽3 小时前
求第 K 大,为什么反而要用最小堆?
javascript·数据结构·算法
郝学胜-神的一滴4 小时前
并查集深度入门:从玄学抽象到 QuickFind & QuickUnion 源码实战
数据结构·c++·python·程序人生·算法·软件开发
hold?fish:palm15 小时前
24 回文链表
数据结构·c++·链表
qeen8719 小时前
【数据结构】自平衡二叉搜索树各种旋转算法原理解析及AVL树的C++实现
数据结构·c++·算法
冻柠檬飞冰走茶20 小时前
PTA基础编程题目集 7-35有理数均值(C++语言实现)
开发语言·数据结构·c++·算法·均值算法
Nil20821 小时前
leetcode 189轮转数组
数据结构·算法·leetcode