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

  • 关税完税价格是离岸价还是到岸价
  • 附加税申报表怎么做
  • 预收账款可以挂多久
  • 卖废品开发票开什么货物名称
  • 生产企业购入材料怎么做分录
  • 长期股权投资的初始投资成本
  • 联合开发合作模式
  • 发票冲红重开摘要如何写合适?
  • 个人所得税补缴不补会怎样
  • 渔业专业合作社简介
  • 已经开具的增值发票
  • 股票授予代替工资缴税吗?
  • 劳务票一般开几个点
  • 所得税的费用限额怎么算
  • 国际收款产生的手续费账务处理
  • 做财务报表是什么岗位
  • 汽车运输增值税专用发票多少税点
  • 应交增值税出口退税年末如何结转?
  • 资产转让税费哪方承担
  • windows 安装
  • mac怎么隐藏app
  • 委托加工物资加工费计入
  • elf.exe是什么程序
  • 补缴税款可以享受减免政策么
  • 公司搞活动买的车能买吗
  • keyemain.exe是什么进程
  • php技巧
  • 免税和免征增值税是一个意思么
  • 其他业务支出属于什么会计科目
  • 在草地上吃零食叫什么
  • 应交税金应交增值税科目设置
  • 青龙面板库怎么用
  • uniapp前端 django后端
  • 报销单跨月怎么记账
  • set nu命令
  • 零税率和免税的含义和区别
  • 用友t6模块
  • 差旅费取得发票怎么处理
  • 停车场广告收入需要每年缴纳增值税吗?
  • 物流企业财务流程
  • 车间办公用品费用
  • 个体户电子申报税流程
  • sql server 排名函数
  • db2运维命令
  • Mysql数据库分库分表语句
  • 信用减值损失属于什么类
  • 公司注销应收账款如何转让给第三方
  • 其他应收款收不回来怎么写情况说明
  • 经营性租赁账务处理方法
  • 不同税率的产品可以开在同一张发票上吗
  • 汇兑损益的账务处
  • 如何抵扣不动产增值税
  • 如何结转完工产品成本和已销产品成本
  • 金税盘开完发票可以直接拔掉吗?
  • 编程经验点滴怎么写
  • mysql 更改密码
  • 进程关不掉怎么解决
  • xp系统内存不能为read的解决方法
  • win7创建密码后为什么还是没有密码
  • win10h2版本
  • 电脑禁用u盘软件
  • win8电脑设置打不开怎么办
  • 事件委托机制的三个主要组件
  • android studiojava报错
  • [置顶] rwmfqg
  • [置顶]星陨计划
  • jquery validation
  • iframe用法和代码
  • TypeScript Type Innference(类型判断)
  • jquery插件使用教程
  • jQuery checkbox选中问题之prop与attr注意点分析
  • 备份系统apk
  • 咸阳国税局长是哪里人
  • 广东省国家税务总局官网
  • 结转城市维护建设税
  • 法人注册怎么注册
  • 青海税务发票查询
  • 房屋设备租赁费
  • 黄石市地方税务局人工客服电话
  • 2020北京户口指标数量
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设