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

  • 论坛发帖要求才能保证效果和行业进步(论坛发帖有哪些注意事项)

    论坛发帖要求才能保证效果和行业进步(论坛发帖有哪些注意事项)

  • iphone13和12手机壳一样吗(iphone13和12膜一样吗)

    iphone13和12手机壳一样吗(iphone13和12膜一样吗)

  • 淘宝退货单号在哪里看(得物申请退货流程)

    淘宝退货单号在哪里看(得物申请退货流程)

  • 硬盘清理程序的功能是(硬盘清理程序的快捷键)

    硬盘清理程序的功能是(硬盘清理程序的快捷键)

  • 手机内存不够用怎么扩大(手机内存不够用怎么扩大内存)

    手机内存不够用怎么扩大(手机内存不够用怎么扩大内存)

  • 快手现回是什么意思(快手回访是啥意思)

    快手现回是什么意思(快手回访是啥意思)

  • jmm一al10是什么型号(jmm-al10是什么型号)

    jmm一al10是什么型号(jmm-al10是什么型号)

  • 苹果11充电显示有液体(苹果11充电显示接口有液体怎么办)

    苹果11充电显示有液体(苹果11充电显示接口有液体怎么办)

  • 手机号码能网上注销吗(手机号码能网上选号吗)

    手机号码能网上注销吗(手机号码能网上选号吗)

  • 抖音头像尺寸是多少(抖音头像尺寸是多少px)

    抖音头像尺寸是多少(抖音头像尺寸是多少px)

  • ios11截图编辑怎么关闭(苹果手机截屏后的编辑功能怎么设置)

    ios11截图编辑怎么关闭(苹果手机截屏后的编辑功能怎么设置)

  • ps钢笔路径怎么描边(ps钢笔路径怎么变成线)

    ps钢笔路径怎么描边(ps钢笔路径怎么变成线)

  • Apple Watch S5怎么设置表盘风格(苹果手表s5怎么用)

    Apple Watch S5怎么设置表盘风格(苹果手表s5怎么用)

  • word不允许修改被锁定(word不允许修改怎么解除)

    word不允许修改被锁定(word不允许修改怎么解除)

  • beatsx充电多久充满

    beatsx充电多久充满

  • 苹果xmax电池容量(iphone x x max电池容量)

    苹果xmax电池容量(iphone x x max电池容量)

  • 手机腾讯会员怎么共享(手机腾讯会员怎么让第二个人登录)

    手机腾讯会员怎么共享(手机腾讯会员怎么让第二个人登录)

  • 如何用手机定位找人(如何用手机定位另一个手机位置)

    如何用手机定位找人(如何用手机定位另一个手机位置)

  • 苹果出5g手机了吗(苹果5g手机出来了吗)

    苹果出5g手机了吗(苹果5g手机出来了吗)

  • 抖音上如何制作三格视频(抖音上如何制作长视频)

    抖音上如何制作三格视频(抖音上如何制作长视频)

  • 怎样打字打出表情包(怎么用表格打字)

    怎样打字打出表情包(怎么用表格打字)

  • 在Win7系统中,交互式服务检测老是弹出来?(在win7系统中文件属性有哪些)

    在Win7系统中,交互式服务检测老是弹出来?(在win7系统中文件属性有哪些)

  • 基于springboot的家政服务管理平台(源码,设计文档等)(基于springboot的购物商城)

    基于springboot的家政服务管理平台(源码,设计文档等)(基于springboot的购物商城)

  • ajax和axios有什么区别?(ajax和axios区别)

    ajax和axios有什么区别?(ajax和axios区别)

  • 外轮供应公司远洋运输供应公司的退税申报?
  • 城市生活垃圾处理收费管理办法
  • 以前年度多缴纳的企业所得税退还
  • 更正以前年度费用账务处理
  • 公司代个人收承兑汇票
  • 收到销售退回时应当冲减
  • 存货计提跌价准备什么意思
  • 利润分配包括缴纳所得税吗
  • 融资租赁开具的发票是货物还是租金
  • 分包工程有哪些风险
  • 我国进口货物交税如何计算? 
  • 广告费定金属于什么科目
  • 物业代收水电费,业主不交怎么办
  • 研发费用费用化金额和资本化金额有什么区别
  • 职工食堂报销经费标准
  • 金税盘发票份数没有显示
  • 2019年以后转登记为小规模纳税人有无时间要求?
  • 利润分配补亏
  • 无形资产入股注意事项
  • 农业合作社零申报流程
  • 以前年度的收入和成本错了要怎么调
  • 应交税金年末
  • PHP:pg_result_error_field()的用法_PostgreSQL函数
  • 谷歌浏览器历史记录插件
  • php foo
  • 小规模纳税人进项可以抵扣吗
  • 睡莲怎样养
  • 隐隐作痛怎么写
  • 药品进销差价的计算公式
  • vue 父组件调用子组件效果
  • pytorch 例子
  • 前端实际开发
  • 发票 加工费
  • python 捕捉窗口
  • 固定资产清理净残值怎么处理
  • 年终奖不属于工资有法律依据吗
  • 业务招待费是否计入管理费用
  • 当master down掉后,pt-heartbeat不断重试会导致内存缓慢增长的原因及解决办法
  • mysql常用命令有哪些
  • 普通发票开具的管理是?
  • 进出口代理的账务怎么做
  • 其他综合收益会影响未分配利润吗
  • 劳务外包合同需要注意什么
  • 出口企业有哪些税收
  • acca考试安排及时间
  • 企业会计凭证怎么写
  • 不抵扣进项税额转出怎么做分录处理
  • 建筑企业预缴税款怎么算
  • 支付设备款怎么做账
  • 内部产生的商誉应确认为无形资产
  • 转出未交增值税借方余额怎么处理
  • 注册工贸公司要多少资金
  • 从会计角度看会计刺客
  • 失控发票已补税及滞纳金后还有事吗
  • 股权变更需要多久
  • mysql 生成guid
  • centos6.9关闭防火墙命令
  • windows9怎么截图
  • 电脑打开win
  • win8.1玩英雄联盟
  • win7磁盘c满了怎么办却又分不清哪些是该删除
  • win7大小写提示图标
  • winxp如何设置文件共享
  • Win8系统怎么安装
  • 打地鼠android
  • Unity3D游戏开发毕业论文
  • ajax怎么用
  • bash linux命令
  • js中date
  • unityshader插件
  • mvp 框架
  • python的链表
  • javascript面向对象编程指南第三版
  • javascript 对象的this指向
  • 一般纳税人开具的增值税普通发票和专用发票的区别
  • 何艳娟出生年月
  • 车船税优惠政策2022年
  • 办图书馆怎么审批
  • 如何查询甘肃省博物馆预约成功
  • 重庆公交司机收入
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设