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

  • 360安全卫士主动防御怎么关闭(360安全卫士主动防御开启失败)

    360安全卫士主动防御怎么关闭(360安全卫士主动防御开启失败)

  • 哔哩哔哩电视版叫什么(哔哩哔哩电视版怎么搜索up主)

    哔哩哔哩电视版叫什么(哔哩哔哩电视版怎么搜索up主)

  • word页眉横线如何去掉(word 页眉横线)

    word页眉横线如何去掉(word 页眉横线)

  • cad无法复制到剪贴板(cad无法复制到剪切板怎回事)

    cad无法复制到剪贴板(cad无法复制到剪切板怎回事)

  • 1+8手机什么时候出(1+8手机什么时候上市)

    1+8手机什么时候出(1+8手机什么时候上市)

  • word怎么插入横线(word怎么画一条横线)

    word怎么插入横线(word怎么画一条横线)

  • 华为勿扰模式能打进电话吗(华为勿扰模式能收到短信吗)

    华为勿扰模式能打进电话吗(华为勿扰模式能收到短信吗)

  • iphone11晚上面容识别不了(苹果11晚上面容识别)

    iphone11晚上面容识别不了(苹果11晚上面容识别)

  • qq铃声不响怎么回事(qq铃声不响怎么办)

    qq铃声不响怎么回事(qq铃声不响怎么办)

  • p40无线充电功能在哪里(p40por无线充电)

    p40无线充电功能在哪里(p40por无线充电)

  • 被对方拉黑了手机号码信息还可以发出去吗(被对方拉黑了手机号还能收到短信和彩信不呢)

    被对方拉黑了手机号码信息还可以发出去吗(被对方拉黑了手机号还能收到短信和彩信不呢)

  • 算法的时间复杂度取决于什么(算法的时间复杂度是指什么)

    算法的时间复杂度取决于什么(算法的时间复杂度是指什么)

  • 删除留言操作频繁了怎么办(如何删除留言)

    删除留言操作频繁了怎么办(如何删除留言)

  • 无线局域网采用什么协议标准(无线局域网采用的协议是)

    无线局域网采用什么协议标准(无线局域网采用的协议是)

  • 荣耀9x充电的时候有没有灯(荣耀9x充电的时间怎么调)

    荣耀9x充电的时候有没有灯(荣耀9x充电的时间怎么调)

  • 华为手机怎么进入开发者选项(华为手机怎么进入recovery模式)

    华为手机怎么进入开发者选项(华为手机怎么进入recovery模式)

  • 怎么用手机在mp3上下载音乐(怎么用手机在mp3下载歌曲酷狗)

    怎么用手机在mp3上下载音乐(怎么用手机在mp3下载歌曲酷狗)

  • 笔记本安装内存条步骤(笔记本安装内存8g啥意思)

    笔记本安装内存条步骤(笔记本安装内存8g啥意思)

  • 农村淘宝地址怎么填写(什么叫农村淘宝地址)

    农村淘宝地址怎么填写(什么叫农村淘宝地址)

  • 点烟器充电安全吗(点烟器充电能充多久)

    点烟器充电安全吗(点烟器充电能充多久)

  • 电脑一键还原按f几(电脑一键还原按哪个键win7)

    电脑一键还原按f几(电脑一键还原按哪个键win7)

  • 微信咋关闭自动播放朋友圈视频(微信咋关闭自动续费服务)

    微信咋关闭自动播放朋友圈视频(微信咋关闭自动续费服务)

  • 手机感光坏了怎么办(手机感光坏了怎么关闭)

    手机感光坏了怎么办(手机感光坏了怎么关闭)

  • 苹果怎么设置闹铃音乐(苹果怎么设置闹钟只震动不出声音)

    苹果怎么设置闹铃音乐(苹果怎么设置闹钟只震动不出声音)

  • Sinutrain下载安装与开启OPC UA---kalrry(sinutrain破解版)

    Sinutrain下载安装与开启OPC UA---kalrry(sinutrain破解版)

  • 大弯国家公园中里奥格兰德河的景色,德克萨斯州 (© Ian Shive/Tandem Stills + Motion)(中国国防科技大学 博士)

    大弯国家公园中里奥格兰德河的景色,德克萨斯州 (© Ian Shive/Tandem Stills + Motion)(中国国防科技大学 博士)

  • Docker详解(docker_practice)

    Docker详解(docker_practice)

  • 城建附加的计税依据
  • 法人能把公司账户的钱都转走么
  • 税控盘锁死日期查询
  • 开票打印机可以自己买吗
  • 去税务局申报增值税需要带税盘吗
  • 附加免税额是什么
  • 个人独资企业注册流程
  • 企业接收捐赠计入什么科目
  • 子公司的财报和母公司的财报并表吗
  • 丢失发票联和抵扣联
  • 税收滞纳金计税吗
  • 生产成本直接材料包括哪些
  • 补缴社保的工资表
  • 哪些罚款不能进行所得税税前扣除?
  • 以土地,房屋用地为主
  • 公司开出的发票
  • 资产负债表中资产总计和负债所有者权益不平等
  • 发票抬头开错跨月了怎么办?
  • 股份利润怎么分
  • 公司租赁办公场地用缴纳房产税吗
  • ppt另存为在哪儿
  • 如何冲减其他应付款又不影响银行存款
  • 公益性捐赠所得税税前扣除标准
  • 购进商品售价金额核算
  • win11笔记本如何让电池充电到100%
  • 酒店开业请吃饭敬酒怎么说
  • php面向对象优点,缺点
  • 买车的收费项目详细清单
  • 工作流activity
  • 长期挂账的其他应付账款怎么处理
  • win11 build 22000.65
  • 个体工商户加盟咖啡店
  • 原材料明细账有记税吗
  • php关闭报错
  • java本地缓存框架有哪些
  • vue-nginx刷新404问题
  • flink从入门到实战
  • 微信小程序人民法院审核通过多久立案
  • php调用java接口
  • php设置title
  • 自建的不动产
  • 发票勾选了还能冲红吗
  • 出租改自用房产税
  • 发票跨月发现开错该怎么办?
  • 使用二氧化碳灭火器时人应该站在什么位置
  • mysql索引原理及慢查询优化
  • python condition
  • 建筑业预缴增值税计算公式
  • 高铁票的电子发票
  • ibm.data.db2
  • 暂估入库的商品作暂估冲红会计分录
  • 提前预支工资怎么打条子
  • 建账之前的业务怎么处理
  • 以前年度多计提了费用
  • 发票遗失复印件可以入账吗
  • 机器配件属于什么类型的商品
  • 商业企业库存商品
  • 未取得合法支付凭据和与本单位无关的收入
  • xp系统怎么取消开机登录界面
  • openbsd 6.9
  • mac自动操作怎么停止
  • windows怎样设置
  • 提升xp系统流畅度
  • ubuntu14.04升级
  • mac双系统怎么调整磁盘空间
  • win7系统在哪里看显卡
  • pqinit.exe - pqinit是什么进程 有什么用
  • javascript教程推荐知乎
  • css渐变文本效果在哪
  • css中有序列表
  • vue-cal
  • “python”
  • 安卓系统手机图片文件夹在哪里
  • jquery图片上传
  • android的中文
  • 计算车辆购置税公式
  • 广东省国家税务局电子发票系统,网络设置
  • 浙江电子税务局app
  • 缴纳耕地占用税的好处
  • 税务年报怎么操作
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设