位置: 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 11 正式
  • php-msf
  • 公司法人向公司借款未还,公司可以倒闭吗
  • 如何提高php性能
  • 退款后发票如何查询
  • 股东年终利润分录怎么写
  • 营业税的滞纳金如何计算
  • 长期投资有哪些渠道
  • 前端 上传文件
  • 头歌java入门运算符和表达式答案
  • js前端路由
  • 瑞吉外卖项目简历
  • 2022年如何在股室工作中落实党风见证
  • 可转换优先股会稀释股权吗
  • 其他免税销售额怎么算
  • 工地购买的厨房用品计入哪个科目
  • 企业影响工程成本的原因
  • 收到上年度所得税退税款会计分录怎么写
  • 报销差旅费如何做记账凭证
  • 固定资产溢余账务处理
  • 库存现金盘点表模板
  • 个税里的年金是指
  • 销货方开红字发票
  • 工程款发票怎么做分录
  • 职工食堂的费用可以在差额里扣除吗
  • 暂估的进项税额怎么抵扣
  • 公司借款流程
  • mysql数据库使用教程
  • mysql的随机函数
  • window怎么样
  • win10飞行模式怎么关掉没有图标
  • windows2000自动登陆
  • mac移动硬盘怎么改名
  • 硬盘安装fedora35
  • macos如何新建文件
  • 启动图形界面
  • win7如何升级win11系统
  • 怎么更改window系统字体
  • 进程mmc.exe
  • win7系统使用ituns设置iphone铃声图文教程
  • Linux系统怎么重启网卡
  • 内存 服务器
  • fedora update-grub
  • 日亚海淘官网
  • android view动画
  • centos7如何分区
  • svn如何cleanup
  • js图像
  • listview控件设置多个列
  • rom开发是做什么的
  • JavaScript中的数据类型分哪为两大类?
  • Python遍历循环
  • 企业所得税年报资产总额平均值怎么填写
  • 个人所得税每年都可以退税吗
  • 拆迁户契税减免政策有时间限制
  • 你认为作为一名护士应具备哪些素质
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设