【python链表】之单向链表详解

本文介绍了单向链表的基础知识,包括链表节点结构、单链表的特性,以及单向链表与单向循环链表的区别。此外,详细讲解了如何在Python中实现单链表,包括创建单节点类、链表的增删改查操作以及链表反转的方法。
摘要由CSDN通过智能技术生成


参考学习视频

python03-04-01单向链表

一、单向链表介绍

链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。像锁链一样,由一节节节点连在一起,组成一条数据链。

1.1 链表节点结构:

在这里插入图片描述

1.2 单向链表的结构

img

1.3 单链表和单向循环链表

  1. 单链表:每个节点只有一个属性.next,用于存放其后继节点;尾节点的后继为None;若链表为空,则头节点.head为None。
  2. 单向循环链表:每个节点只有一个属性.next,用于存放其后继节点;由于循环,故尾节点的后继为头节点;若链表为空,则头节点.head为None。

二、操作单链表

2.1 常用方法(自己定义的)

方法 作用
is_empty() 链表是否为空
length() 链表长度
travel() 遍历整个链表
add(item) 链表头部添加元素
append(item) 链表尾部添加元素
insert(pos, item) 指定位置添加元素
remove(item) 删除节点
search(item) 查找节点是否存在

2.2 单向链表的实现

1、单节点类结构
class SingleNode(object):
    """单链表的结点"""
    def __init__(self,item):
        # item存放数据元素
        self.item = item
        # next是下一个节点的标识
        self.next = None
2、单链表的增删改查
# #
class Node():
    """表节点结构实现  私有属性__next是指向下个节点的指针,__value为此节点的值"""
    def __init__(self, value=None, next=None, ):
        self._value = value
        self._next = next

    # 将方法封装
    def getValue(self):
        return self._value

    def getNext(self):
        return self._next

    def setvalue(self, value):
        self._value = value

    def setNext(self, next):
        self._next = next
        
        

class SingleLinkList(object):
    """操作单链表的方法"""
    def __init__(self, Node=None):
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值