位置: IT常识 - 正文

python单向链表如何实现(python单链表的创建)

编辑:rootadmin

推荐整理分享python单向链表如何实现(python单链表的创建),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python 单链表,python 单链表添加节点,python单链表排序,python 单链表添加节点,python单链表的基本操作,单向链表 python,python 单链表,单向链表 python,内容如对您有帮助,希望把文章链接给更多的朋友!

python单向链表如何实现(python单链表的创建)

说明

1、每个节点包括两个域、一个信息域(元素域)和一个连接域,该链接指向链接表的下一个节点,最后一个节点的链接指向空值。

2、表要素elem用于存储具体数据。链接域next用于存管下一个节点的位置

变量P指向链表头节点(首节点)的位置,可以从P出发找到表中的任意节点。

实例

classNode(object):def__init__(self,elem):""":paramelem:表元素域next:下一结点链接域cursor(cur):游标"""self.elem=elem#定义next指向空self.next=NoneclassSingleLinkList(object):"""单向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)和一个链接域。这个链接指向链表中的下一一个节点,而最后-个节点的链接域则指向一个空值。表元素域elem用来存放具体的数据。链接域next用来存放下一个节点的位置(python中的标识)变量p指向链表的头节点(首节点)的位置,从p出发能找到表中的任意节点。"""def__init__(self,node=None):self.__head=node#node.elemnode.nextdefis_empty(self):"""链表是否为空"""returnself.__headisNonedeflength(self):"""链表长度"""#cur游标,用来移动遍历节点cur=self.__headcount=0whilecurisnotNone:count+=1cur=cur.next#count记录数量returncountdeftravel(self):"""遍历整个链表"""cur=self.__headwhilecurisnotNone:print(cur.elem,end='')cur=cur.nextdefadd(self,item):"""链表头部添加元素:头插法"""node=Node(item)node.next=self.__headself.__head=nodedefappend(self,item):"""链表尾部添加元素:尾插法"""node=Node(item)#下一结点链接域不为空ifself.is_empty():self.__head=nodeelse:cur=self.__headwhilecur.nextisnotNone:cur=cur.nextcur.next=nodedefinsert(self,pos,item):"""pos:pos从0开始pre:指定节点前一节点,相当于游标node:插入的指定节点指定位置添加元素"""#ifpos<=0头插法ifpos<=0:self.add(item)#elifpos>(self.length()-1)尾插法elifpos>(self.length()-1):self.append(item)#else插入法else:pre=self.__headcount=0#当循环退出后,pre指向pos-1whilecount<(pos-1):count+=1pre=pre.nextnode=Node(item)node.next=pre.nextpre.next=nodedefremove(self,item):"""删除元素"""#考虑删除头部、尾部、中间节点cur=self.__headpre=NonewhilecurisnotNone:ifcur.elem==item:#先判断是否是头节点ifcur==self.__head:self.__head=cur.nextelse:pre.next=cur.nextbreakelse:pre=curcur=cur.nextdefsearch(self,item):"""查找节点是否存在"""#1.创建游标cur=self.__head#2.遍历游标whilecurisnotNone:#3.cur.elem=itemifcur.elem==item:returnTrueelse:cur=cur.nextreturnFalseif__name__=='__main__':ll=SingleLinkList()ll.is_empty()l1=ll.length()print(l1)ll.append(55)ll.is_empty()l2=ll.length()print(l2)ll.append(2)ll.add(8)ll.append(3)ll.append(4)ll.append(5)#5518234ll.insert(-1,9)#98552182345ll.insert(2,100)#98100552182345ll.travel()

以上就是python单向链表的实现,希望对大家有所帮助。更多Python学习指路:Python基础教程

本文链接地址:https://www.jiuchutong.com/zhishi/303722.html 转载请保留说明!

上一篇:python字典添加值的方法(python字典怎么添加值)

下一篇:记录--TS封装axios(tsop封装)

  • 华为gt3pro屏幕分辨率(华为gt3pro功能)

    华为gt3pro屏幕分辨率(华为gt3pro功能)

  • 小米12有红外线功能吗(小米12有红外线功能怎么开)

    小米12有红外线功能吗(小米12有红外线功能怎么开)

  • oppor9splus忘记了锁屏密码怎么办(oppor9splus忘记了锁屏图案指纹也不行电脑怎么打开)

    oppor9splus忘记了锁屏密码怎么办(oppor9splus忘记了锁屏图案指纹也不行电脑怎么打开)

  • 华为mate30pro为什么没有微距拍摄(华为mate30pro为什么会突然黑屏)

    华为mate30pro为什么没有微距拍摄(华为mate30pro为什么会突然黑屏)

  • 微信语音通话可以闭麦吗(微信语音通话可以查出来吗安全吗)

    微信语音通话可以闭麦吗(微信语音通话可以查出来吗安全吗)

  • 手机12306怎么支付不了(手机12306怎样绑定支付宝)

    手机12306怎么支付不了(手机12306怎样绑定支付宝)

  • 芒果tv投屏一直连接(芒果tv投屏一直在加载中)

    芒果tv投屏一直连接(芒果tv投屏一直在加载中)

  • 苹果x上滑没有振动怎么办

    苹果x上滑没有振动怎么办

  • 主机开了显示器没反应(主机开了显示器显示无视频输入)

    主机开了显示器没反应(主机开了显示器显示无视频输入)

  • 电源io哪一个代表开机(电源io哪个是开)

    电源io哪一个代表开机(电源io哪个是开)

  • 骑手能看到顾客差评吗(骑手能看到顾客的哪些信息)

    骑手能看到顾客差评吗(骑手能看到顾客的哪些信息)

  • iphone7主板漏电特征(7p 主板漏电)

    iphone7主板漏电特征(7p 主板漏电)

  • 快手的关注页面怎么变了(快手的关注页面怎么变成小图框)

    快手的关注页面怎么变了(快手的关注页面怎么变成小图框)

  • 苹果自动扣费退款流程(苹果自动扣费退款成功率高吗)

    苹果自动扣费退款流程(苹果自动扣费退款成功率高吗)

  • 手机百度黑屏怎么弄

    手机百度黑屏怎么弄

  • 安卓照片怎么迁移苹果(安卓照片怎么迁移到苹果手机 知乎)

    安卓照片怎么迁移苹果(安卓照片怎么迁移到苹果手机 知乎)

  • 华为mate 30 pro 5g什么时候开售(华为mate30pro5g多重)

    华为mate 30 pro 5g什么时候开售(华为mate30pro5g多重)

  • 如何删除幻灯片中的一页(如何删除幻灯片所有动画)

    如何删除幻灯片中的一页(如何删除幻灯片所有动画)

  • qq的文件怎么保存(qq的文件怎么保存到本地)

    qq的文件怎么保存(qq的文件怎么保存到本地)

  • 咸鱼怎么发布自己的东西(咸鱼怎么发布自动收货商品)

    咸鱼怎么发布自己的东西(咸鱼怎么发布自动收货商品)

  • 手机重力感应异常的解决方法(手机重力感应异常是什么意思)

    手机重力感应异常的解决方法(手机重力感应异常是什么意思)

  • 微信限额怎么查询(微信限额怎么查询余额)

    微信限额怎么查询(微信限额怎么查询余额)

  • 电子邮件怎么弄(电脑电子邮件怎么弄)

    电子邮件怎么弄(电脑电子邮件怎么弄)

  • 借条和欠条的区别,分辩不好让你损失惨重(借条和欠条的区别 法律效力)

    借条和欠条的区别,分辩不好让你损失惨重(借条和欠条的区别 法律效力)

  • Linux Mint设置面板位置以及添加面板元素的方法(linux mib)

    Linux Mint设置面板位置以及添加面板元素的方法(linux mib)

  • 采购材料的进项税
  • 印花税和契税是什么意思?什么时候交?
  • 农产品是零税率还是免税税率
  • 所有增值税发票都有抵扣联吗
  • 增值税专用发票可以开电子发票吗
  • 填制凭证的内容通常包括
  • 企业领用本企业生产的产品会计分录
  • 年度所得税汇算清缴报告在哪打印
  • 小规模开专票不超过45万要交税吗
  • 为员工购置小车怎么做账
  • 维修材料费主要包括
  • 在会计实务中财务报表附注的披露方法不包括
  • 生产企业出口货物必须以什么为计税依据计算免抵退税额
  • 购入商品入库时发现实收物多余应收数计入什么科目
  • 公户转给股东的钱需要交个税吗
  • 增值税抄税报税流程2021
  • 海关进口增值税和关税怎么入账
  • c盘文件详解
  • 民办学校的财务制度
  • directx安全吗
  • 增资后多久才可以减资
  • 企业的往来账款包括哪些
  • 收到预付款计入什么科目
  • 转让股权怎么做会计分录
  • PHP:oci_field_size()的用法_Oracle函数
  • PHP:pg_fetch_assoc()的用法_PostgreSQL函数
  • Linux下使用quota命令管理磁盘空间的实例教程
  • php的循环
  • 年度确认收入怎么算
  • 费用扣除制度
  • 产生永久性差异时为什么计税基础等于账面价值
  • php数组求最大值
  • 在双方发生纠纷时品牌授权书的法律意义
  • softag
  • 桥梁水泥和普通水泥有什么区别
  • 什么是Unicode
  • 出售其他债权投资差额计入
  • tar 压缩命令tar
  • 缴纳残保金会计分录最新
  • 企业规定
  • 发票打印机如何安装在电脑上
  • 生产成本结转库存商品,怎么算知道数量以及单价
  • 投资款印花税的计税依据
  • 跨年度错账调整分录
  • 固定资产处置增值税政策
  • sqlalchemy mongodb
  • 报表中的存货是什么
  • 员工餐费报销分录怎么弄
  • 零售金银首饰是否缴纳消费税
  • 人力资源外包服务包括哪些
  • 老板买了手机,算入什么费用
  • 权益性无形资产包括哪些?
  • 单位购牙膏牙刷卫生纸怎么做账?
  • 固定资产转为投资的条件
  • 预提费用怎么做凭证
  • SQLSERVER 中datetime 和 smalldatetime类型分析说明
  • ubuntu系统常用命令
  • centos添加自启动
  • win8最新版本
  • win7系统桌面图标变大了怎样恢复
  • linux就要这样学
  • socket pf_inet
  • perl数组去重
  • javascript常用类型
  • jquery添加图片
  • css onclick
  • 使用权资产
  • jquery get(0)
  • jquery.validate提示错误信息位置方法
  • 基于android的简单程序
  • recyclerview和scrollview
  • 正途科技有限公司
  • jquery 异步请求
  • 北京增值税普通发票图片
  • 如何网上申领税票发票
  • 土地增值税可否免税
  • 个体工商户两处所得,如何减半个税
  • 土地二次买卖
  • 车船税优惠政策2022年
  • 电子客票号码8768是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设