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

  • iqoo8pro怎么添加小窗应用(iqoo8pro怎么添加加密门禁卡)

    iqoo8pro怎么添加小窗应用(iqoo8pro怎么添加加密门禁卡)

  • word怎么插图片在指定位置(word怎么插图片当背景)

    word怎么插图片在指定位置(word怎么插图片当背景)

  • 小米10至尊纪念版有耳机孔吗(小米10至尊纪念版)

    小米10至尊纪念版有耳机孔吗(小米10至尊纪念版)

  • 红米K20升级之后充电慢(红米k20pro更新后)

    红米K20升级之后充电慢(红米k20pro更新后)

  • zenly冻结位置能看到什么(zenly冻结位置能看到对方位置吗)

    zenly冻结位置能看到什么(zenly冻结位置能看到对方位置吗)

  • 注销的qq号还能恢复吗(注销的QQ号还能登录吗)

    注销的qq号还能恢复吗(注销的QQ号还能登录吗)

  • 电脑图片另存为快捷键(电脑图片另存为jpg格式怎么弄)

    电脑图片另存为快捷键(电脑图片另存为jpg格式怎么弄)

  • 照片做微信头像模糊(怎么把完整的照片做微信头像)

    照片做微信头像模糊(怎么把完整的照片做微信头像)

  • 支付宝运动怎么看好友历史运动(支付宝运动怎么开启)

    支付宝运动怎么看好友历史运动(支付宝运动怎么开启)

  • voc是什么电脑(voc是啥牌子)

    voc是什么电脑(voc是啥牌子)

  • 闲鱼钱被支付宝冻结了怎么办(闲鱼钱被支付宝转走了)

    闲鱼钱被支付宝冻结了怎么办(闲鱼钱被支付宝转走了)

  • 常用的分类ip地址有

    常用的分类ip地址有

  • 电脑怎么彻底卸载软件(电脑怎么彻底卸载搜狗输入法)

    电脑怎么彻底卸载软件(电脑怎么彻底卸载搜狗输入法)

  • 咪咕盒子能用无线吗(咪咕盒子只能用有线吗)

    咪咕盒子能用无线吗(咪咕盒子只能用有线吗)

  • 怎么把b站视频转为音频(怎么把b站视频的音频提取出来)

    怎么把b站视频转为音频(怎么把b站视频的音频提取出来)

  • word被锁定了怎么办(word被锁定了怎么弄)

    word被锁定了怎么办(word被锁定了怎么弄)

  • ps怎么拉长身高(ps拉长身高的快捷键)

    ps怎么拉长身高(ps拉长身高的快捷键)

  • iphone11Pro怎么查看序列号(iphone11pro怎么查lg屏还是三星屏)

    iphone11Pro怎么查看序列号(iphone11pro怎么查lg屏还是三星屏)

  • 苹果x一直edge怎么解决(苹果出现edge怎么办)

    苹果x一直edge怎么解决(苹果出现edge怎么办)

  • 华为浏览器收藏的东西在哪(华为浏览器收藏的内容在哪里)

    华为浏览器收藏的东西在哪(华为浏览器收藏的内容在哪里)

  • 闲鱼永久禁言能解除么(闲鱼永久禁言能否解除)

    闲鱼永久禁言能解除么(闲鱼永久禁言能否解除)

  • 微信号在哪里看(公众号的微信号在哪里看)

    微信号在哪里看(公众号的微信号在哪里看)

  • 坚果手机如何强制开机(坚果手机如何强制重启)

    坚果手机如何强制开机(坚果手机如何强制重启)

  • 联想旧电脑一台,奋战3小时才搞定(联想旧电脑怎么连接wifi)

    联想旧电脑一台,奋战3小时才搞定(联想旧电脑怎么连接wifi)

  • 所得税汇算清缴调整项目
  • 中国税务精神是谁提出的
  • 税收指的是什么
  • 财务软件怎么样从捷软系统导出数据
  • 项目固定资产投资包括
  • 销售成本结转属于收入吗
  • 所得税退税怎么办
  • 专用发票抵扣联丢失还能抵扣吗
  • 个人净资产包括房子吗
  • 承兑汇票丢了如何追回
  • 银行承兑汇票贴现利率一般多少
  • 委托加工白酒消费税计税依据
  • 把公司的设备弄坏了怎么办
  • 代收代付的发票开给谁
  • 当期应税销售收入是含税还是不含税
  • 专项资金需要交印花税吗
  • 税务局代开发票需要什么资料
  • 公司买的油烟机可以抵扣进项税吗
  • 其他应付款包括应付职工薪酬吗
  • 建筑行业项目部会计要做什么
  • 怎么让自己的电脑有网吧认证
  • 职工福利费扣除率是多少
  • 核定征收要交企业所得税吗
  • win10如何打开regedit
  • 极易一键重装系统怎么用
  • 开发产品转作经营性资产
  • 金融资产的要素有哪些?
  • linux 文件修改
  • php输出流
  • Micheldever Wood的蓝铃花,英国汉普郡 (© Hursley/Getty Images Plus)
  • 会计分录内容包括
  • 投资性房地产后续计量从成本模式转为公允价值模式属于
  • js表单验证代码
  • vue 移动端
  • 计入当期损益的利得分录
  • 固定资产加速折旧最新政策2022
  • 商誉减值后
  • nodejs安装及环境配置win7
  • ChatGPT 能自己跑代码了!
  • python去掉文本的指定符号
  • 季报弥补亏损,财报怎么填
  • 物流公司的会计好干吗
  • 企业年度报告包括哪些内容
  • MySQL数据库有什么特点
  • 坏账准备是啥意思
  • 普通发票的金额包含增值税吗
  • 合并设立是什么意思
  • 收到税务局退回的增值税税款怎么做账
  • 银行开户的费用计入什么科目
  • 现在增值税是多少个点
  • 科技专项资金
  • 损益类会计科目有哪些
  • 一次性补缴一年社保
  • 商业汇票的会计核算
  • 清理固定资产是什么意思
  • 对方开商业承兑汇票给我们
  • 公司给客户的礼品太差了还需要给客户吗
  • 红字的记账凭证怎么记账
  • 存根联明细怎么申报
  • 销售产品用什么词形容
  • 农业技术人员是什么意思
  • 母公司以房产投资子公司
  • 赔偿给别人的钱还能要回来吗
  • 建筑施工企业会计分录大全
  • sql server2019还原数据库
  • MySQL存储过程和函数有什么区别?
  • sql差异备份数据库怎么还原
  • cvi linux
  • 忘记ubuntu root密码
  • mac系统快速入门
  • 如何删除win8系统
  • 搞定immutable.js详细说明
  • android项目打包成jar包
  • JavaScript正则表达
  • python爬虫过程
  • unity双面材质
  • scrapy python
  • 基于jquery实现小说
  • 支付给境外的咨询费需要什么资料
  • 重庆税筹公司
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设