python数据结构之链表

前言:本篇仅代表小菜鸟的个人观点,如有错误,还烦请大家指出。

单向链表

链表作为一种简单的线性结构,分为数据域与指针域,顾名思义,链表在逻辑结构上像一条铁链,一个结点连着下一个,仅靠着指针域指向下一个结点,因此链表结点的构建也就十分简单了。

 

如图所示,最后一个链表的指针域指向None,单向链表十分简单,现在就开始构建吧。

class Node:  # 链表结点
    def __init__(self, item):  # 传入数据域的数据
        self.item = item  # 数据域
        self.next = None  # 指针域,指向下一个结点

结点的构建就如上图,单链表的操作也十分简单,插入,删除,定位,遍历等操作。

但不同于栈和队列存在入元素和出元素的固定顺序,链表可随意位置的删除和增加元素,因此插入和删除就分为了头插尾插和头删尾删。

注意以下所有的操作,一旦改变了头结点就需要返回新的头结点

功能一:尾插元素

def back_push(head, element: int):  # head为头节点,element为待插入元素
    new_node = Node(element)  # 构建新结点
    if not head:  # 头节点为空
        head = new_node
    else:  # 头节点不为空
        curNode = head
        while curNode.next:
            cu
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值