iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python中的单向链表怎么实现
  • 956
分享到

python中的单向链表怎么实现

2023-06-29 01:06:16 956人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍了python中的单向链表怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python中的单向链表怎么实现文章都会有所收获,下面我们一起来看看吧。一、单向链表概念单向链表的链接方向是单向的

这篇文章主要介绍了python中的单向链表怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python中的单向链表怎么实现文章都会有所收获,下面我们一起来看看吧。

一、单向链表概念

单向链表的链接方向是单向的,由结点构成,head指针指向第一个成为head结点,而终止于最后一个指向None的指针,对链表的访问要通过顺序读取从头部开始。

python中的单向链表怎么实现

二、建立节点对象

class node:    def __init__(self,data):        self.data = data #节点的值域        self.next = None #连接下一个节点,暂时指向空

三、链表对象的初始定义

class linkList:    def __init__(self):        self.head = None #首先建立链表头,暂时指向空

四、判断链表是否为空

    #判断链表是否为空    def isEmpty(self):        if self.head:            return False        else:            return True

五、获取链表长度

    def length(self):        if self.isEmpty():            return 0        else:            t = self.head            n = 1            while t.next:                t = t.next                n = n + 1            return n

六、向头部添加节点

    def addhead(self,data):        node = Node(data) #新建一个节点        node.next = self.head #新建的节点接上原来的链表        self.head = node #重置链表的头

七、向尾部添加节点

    def addtail(self,data):        node = Node(data) #新建一个节点        #先判断链表是否为空        if self.isEmpty():            self.addhead(data)        else:            t = self.head             while t.next: #通过循环找到尾部                t = t.next             t.next = node #尾部接上

八、指定位置插入节点

    def insert(self,data,index):        if index == 0 or self.isEmpty():            self.addhead(data)        elif index >= self.length():            self.addtail(data)        else:            node = Node(data)            t = self.head            n = 1            while n < index - 1:                t = t.next                n = n + 1            a = t.next.next            t.next = node            node.next = a

九、删除指定位置的节点

    def delete(self,index):        if self.isEmpty():            print("The linked list is empty")        else:            t = self.head            if index == 0:                self.head = t.next            elif index == self.length() - 1:                n = 1                while n < self.length() - 1:                    t = t.next                    n = n + 1                t.next = None            elif index > self.length() - 1:                print("Out of range")            elif index < 0:                print("Wrong operation")            else:                n = 1                while n < index - 1:                    t = t.next                    n = n + 1                a = t.next.next                t.next = a

十、查找是否有该数据的节点

    def search(self,data):        t = self.head        n = 1        while t.next:            if t.data == data:                print(str(n) + " ")            t = t.next            n = n + 1        if (t.data == data):            print(str(n) + " ")

十一、遍历输出整个链表

    def fORM(self,datalist):        self.addhead(datalist[0])        for i in range(1,len(datalist)):            self.addtail(datalist[i])        t = self.head        while t.next:            print(t.data)            t = t.next        print(t.data)

十二、输入数据创建链表

    def form(self,datalist):        self.addhead(datalist[0])        for i in range(1,len(datalist)):            self.addtail(datalist[i])        t = self.head        while t.next:            print(t.data)            t = t.next        print(t.data)

十三、具体实现

data = input("input(以空格为界):")data = data.split(" ")linkList = linkList()linkList.form(data) #创建链表addlist = linkList.addhead(5) #在头节点加入linkList.erGodic() #遍历输出addlist = linkList.addtail(5) #在尾节点加入linkList.ergodic() #遍历输出linkList.search(5) #查找是否有"5"的节点linkList.delete(4) #删除第4个数据linkList.ergodic() #遍历输出print(linkList.length()) #输出链表长度linkList.insert(89,2) #指定位置插入数据linkList.ergodic() #遍历输出

关于“python中的单向链表怎么实现”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“python中的单向链表怎么实现”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网Python频道。

--结束END--

本文标题: python中的单向链表怎么实现

本文链接: https://www.lsjlt.com/news/321749.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python中的单向链表怎么实现
    这篇文章主要介绍了python中的单向链表怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python中的单向链表怎么实现文章都会有所收获,下面我们一起来看看吧。一、单向链表概念单向链表的链接方向是单向的...
    99+
    2023-06-29
  • python怎么实现单向链表及单向链表的反转
    这篇文章给大家分享的是有关python怎么实现单向链表及单向链表的反转的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。链表的定义链表中的每个节点会存储相邻节点的位置信息,单链表中的每个节点只存储下一关节点的位置信息...
    99+
    2023-06-14
  • python单向链表怎么实现
    这篇文章主要介绍“python单向链表怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python单向链表怎么实现”文章能帮助大家解决问题。单向链表:是将所有的数据作为一个个节点,将所有的节点...
    99+
    2023-06-30
  • python中的单向链表实现
    目录一、单向链表概念二、建立节点对象三、链表对象的初始定义四、判断链表是否为空五、获取链表长度六、向头部添加节点七、向尾部添加节点八、指定位置插入节点九、删除指定位置的节点十、查找是...
    99+
    2024-04-02
  • Python实现单向链表
    单向链表每个节点都是由两部分组成:数据字段和指针,指针指向下一个元素在内存中的位置。 单向链表的第一个节点节点是链表头指针,而最后一个节点的指针设为None,不指向任何元素。(链表头...
    99+
    2024-04-02
  • 怎么用Python实现单向链表
    这篇文章主要介绍“怎么用Python实现单向链表”,在日常操作中,相信很多人在怎么用Python实现单向链表问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Python实现单向链表”的疑惑有所帮助!接下来...
    99+
    2023-06-30
  • python如何实现单向链表及单向链表的反转
    链表的定义 链表中的每个节点会存储相邻节点的位置信息,单链表中的每个节点只存储下一关节点的位置信息 单向链表的实现 class ListNode: def __init_...
    99+
    2024-04-02
  • python单向循环链表怎么实现
    单向循环链表将所有的链接在一起,每一个节点分为数据存储区和链接区,数据区存储数据,链接区链接下一个节点item: 存储数据的地方next: 链接下一个节点注意: 单向循环链表是首位链接,即尾部的节点要和头部的节点链接单向链表操作1、链表是否...
    99+
    2023-05-16
    Python
  • python单向链表的实现方法
    这篇文章主要介绍了python单向链表的实现方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。python的数据类型有哪些python的数据类型:1. 数字类型,包括int(...
    99+
    2023-06-14
  • C++中怎么实现一个单向链表
    C++中怎么实现一个单向链表,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。C++单向链表实现代码:#include < iostream>&...
    99+
    2023-06-17
  • python双向链表怎么实现
    这篇文章主要介绍“python双向链表怎么实现”,在日常操作中,相信很多人在python双向链表怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python双向链表怎么实现”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-30
  • Java​逆转单向链表怎么实现
    这篇文章主要讲解了“Java逆转单向链表怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java逆转单向链表怎么实现”吧!首先这是一个单向的链表,不同于 Java 里面的 Linked...
    99+
    2023-06-04
  • python单向循环链表如何实现
    本篇内容主要讲解“python单向循环链表如何实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python单向循环链表如何实现”吧!单向循环链表将所有的链接在一起,每一个节点分为数据存储区和链...
    99+
    2023-07-06
  • JAVA中怎么实现链表和双向链表
    这篇文章给大家介绍JAVA中怎么实现链表和双向链表,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。JAVA基础:语言中链表和双向链表的实现(转)[@more@]链表是一种重要的数据结构,在程序设计中占有很重要的地位。C语...
    99+
    2023-06-03
  • 怎么用Python实现双向链表
    这篇文章主要介绍“怎么用Python实现双向链表”,在日常操作中,相信很多人在怎么用Python实现双向链表问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Python实现双向链表”的疑惑有所帮助!接下来...
    99+
    2023-06-30
  • python单链表的实现
    ''' 当加入第一个node节点的时候,会有几个值,(这里的self.tail.next 其实就是node.next) head = item = tail = Node(object element1 memory) item = hea...
    99+
    2023-01-31
    链表 python
  • python单向链表实例详解
    使用python实现单向链表,供大家参考,具体内容如下 单向链表:是将所有的数据作为一个个节点,将所有的节点链接在一起。每一个节点中又分为: 存储数据区,链接区 存储数据区: 存储具...
    99+
    2024-04-02
  • python实现单链表
    #encoding:utf-8 import sys class Lnode():     def __init__(self,elem,next=None):         self.elem = elem    #节点的值   ...
    99+
    2023-01-31
    链表 python
  • Python实现双向链表
    之前写的单向链表和环形链表都只是单向的,只能单向遍历,不能根据后面的节点获取前面的节点,除非进行反转操作。 双向链表每个节点都有两个指针,这两个指针分别指向前后两个节点,这样就可以从...
    99+
    2024-04-02
  • java中单向链表和双向链表是什么
    小编给大家分享一下java中单向链表和双向链表是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、链表简介1、链表概念链表是一种物理存储单元上非连续、非顺序的...
    99+
    2023-06-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作