位置: 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封装)

  • 居民个人的综合所得
  • 购入生产设备的增值税计入成本吗
  • 差额征税小规模免征增值税
  • 企业买车购置税跟个人一样吗
  • 其他应付款属于哪类
  • 盘盈的固定资产怎么做账务处理
  • 弥补以前年度亏损会计分录
  • 不是单位职工个税怎么算
  • 收到借款确认书模板
  • 平均房租
  • 收取质保金会计处理
  • 法人存入公户实收资本可以还其他应付款吗
  • 当月作废的采购发票已认证账务如何处理?
  • 所有的企业都能采用免费策略
  • 企业经营收入达到多少
  • 税务编码如何快速查询
  • 应交增值税减免税额期末需要结转吗
  • 劳务公司差额征税账务处理
  • 物料买回来再发货可以吗
  • 事业单位本年度工作小结
  • 新版edge浏览器兼容模式怎么设置
  • 汇算清缴工资薪金支出包含社保费吗
  • windows11 怎么更新
  • wlms.exe是什么
  • 玩的最多的手机网游
  • php pdo oracle
  • thinkphp教程
  • 微信小程序在哪里打开
  • conda操作
  • linux中suid
  • opencv 方框识别
  • thinkphp用户token
  • 公司租赁个人车辆怎么开发票
  • 资产的账面价值大于计税基础
  • 一般纳税人购进小规模纳税人的货物
  • 润滑脂开票属于哪一类
  • 查财务报表的网站有哪些
  • 售后回租融资租赁会计处理
  • 如何理解当期损益
  • 公转私户违法吗
  • 发票入账的管理规定
  • 民间非营利组织会计制度及操作实务
  • 一般纳税人增值税减免政策2023
  • 自产产品用于业务招待
  • 研发费用的核算方法
  • 公司账户没有钱怎么发工资
  • 企业收到的政府补助属于
  • 购买固定资产没收到发票怎么做账
  • 计提工资申报个税
  • 收入与成本不配合
  • 原告起诉被告承担诉讼费
  • 本地发生住宿费怎么办
  • sum(case when then)(判断男女生的个数)
  • SQL Server中使用Trigger监控存储过程更改脚本实例
  • win8安装程序在哪里
  • winxp系统安装教程
  • windows 11安全模式
  • windows下打开ie提示由于该计算机受到限制,本次操作已被取消
  • win10安装更新
  • ubuntu设置共享文件夹命令mount
  • mac迅雷不限速
  • mac笔记本如何设置不黑屏
  • win8.
  • RedHatLinux AS3中APACHE+SendMail+OpenWebMail整合
  • opengl和openglskia
  • document.getElementByTagName
  • AndroidAnnotations 自定义控件 ant编译 找不到类
  • python伪装请求头
  • 用python操作excel
  • scrollview用法
  • shell脚本判断命令是否执行成功
  • javascript要怎么学
  • unity image fillamount
  • unity ui控件
  • animate怎么整个图层移动
  • android实现选择题模式
  • 税是每个人都要交的吗
  • 如何运用投资组合理论
  • 会计基础工作规范2024
  • 税控盘在哪领取
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设