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

  • 收到政府的补贴收入现金流量表填哪里
  • 变更税务所怎么操作
  • 简易计税是什么税种
  • 个人以房产投资企业需要过户吗
  • 捐赠劳务支出可在企业所得税前扣除吗
  • 取得虚开普票怎样补增值税
  • 减免增值税款怎么算
  • 取得社会团体会费专用票据可以税前扣除吗
  • 个体户未抄报不能领发票
  • 资产负债表两边不平衡的原因
  • 转让股权收入需要缴纳企业所得税吗
  • 新开商贸公司怎么做账和报税
  • 出纳日常工作内容总结
  • 外购货物应抵扣的进项税额税率
  • 经营二手车怎么交税
  • 个人工资税收怎么申报
  • 收到第三方利息会计分录
  • 拆迁安置房建设流程
  • 已缴契税是否可以在土地增值税扣除?
  • 营业资金账簿印花税减半
  • 以公司名义办宽带怎么办
  • 三证合一怎么查询
  • 企业如何避免风险
  • 我们公司春节发工资英文
  • 个人所得税自行纳税申报
  • 清算时土地增值税计税依据
  • 劳务派遣直接支付工资吗
  • 视同销售产品与收款尾差怎么处理
  • 企业职工教育经费
  • 个人劳务报酬所得税计算方法2020
  • 什么情况下个税税率是10%
  • 已开票不确认收入未收款怎么做账
  • 增值使用费可取消吗?
  • 使用u盘安装linux
  • 新税法中工资薪金的规定
  • 物权请求权如何行使
  • 修改系统帐户用什么软件
  • 申请开立临时存款账户
  • php redis常用命令
  • 支付离退休人员退休金可以用现金结算吗
  • 金融企业贷款损失准备金计提比例
  • 金融服务企业按照是否办理存款业务
  • 完美解决索尼电视arc无声音
  • 成本会计工作流程表
  • vue-router.esm.js?a12b:2046 Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation
  • 座头鲸救人
  • 后端中spef文件和spf文件
  • php对象是值传递还是引用传递
  • 应收账款能想到什么
  • 小企业会计准则和企业会计准则的区别
  • ps遇到了文件尾
  • 网站的首页文件名是什么
  • mongodb主键
  • pos机到账流水算个人收入吗
  • 财务会计报表的使用者有哪些
  • 企业给灾区捐款可以抵税吗
  • 对公账户里的钱怎么转出来合法
  • 预交的城建税及附加税
  • 未分配利润转增股本要交税吗怎么交
  • 购货方收到红字发票计入进项税转出还是进项税额负数?
  • 刚购入的固定资产已使用年限怎么填
  • 跨年后发票作废
  • 银行询证函费用发票
  • 开发票时怎么操作收款人 复核人 开票人?
  • 公司购药品入什么科目
  • sql数据库性能
  • mysql获取今天数据
  • 电脑网页字体设置
  • hidden word什么意思
  • centos 6.6安装教程
  • Msssrv.exe - Msssrv是什么进程 有什么用
  • kprcycleaner.exe是什么
  • windows预览0x80072ee2
  • nodejs可以直接操作数据库
  • linux防火墙开启80端口视频
  • BUG: OpenGL error 0x0500 in -[CCEAGLView swapBuffers] 328
  • json与对象的区别
  • 内蒙地税个人所得税标准
  • 税务部门行政审批
  • 上海如何用电子医保卡
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设