位置: IT常识 - 正文

Python单向循环链表的创建(python中循环怎么写)

编辑:rootadmin

推荐整理分享Python单向循环链表的创建(python中循环怎么写),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python循环链表方法,python只循环一次,python 单行循环,python 单行循环,python循环单链表的基本操作,python 单行循环,python循环单链表的基本操作,python循环单链表的基本操作,内容如对您有帮助,希望把文章链接给更多的朋友!

Python单向循环链表的创建(python中循环怎么写)

说明

1、当实例化一个单向循环链表时,该链表是一个空链表,在将节点依次链接之后,链表中才会出现节点和数据。

2、在链表中,为了找到链表的某个节点,需要从链表的头节点开始,依次搜索。

因此,在实例单向循环链表中,必须定义链表的头。当添加头节点时,链表的头指向头节点。

实例

classNode(object):def__init__(self,elem):""":paramelem:表元素域next:下一结点链接域cursor(cur):游标"""self.elem=elem#定义next指向空self.next=NoneclassSingleCircularLinkList(object):"""单向循环链表:单链表的一个变形是单向循环链表,链表中最后一个节点的next域不再为none,而是指向链表的头节点"""def__init__(self,node=None):self.__head=node#node.elemnode.nextifnode:node.next=nodedefis_empty(self):"""链表是否为空"""returnself.__headisNonedeflength(self):"""链表长度"""ifself.is_empty():return0#cur游标,用来移动遍历节点cur=self.__headcount=1whilecur.next!=self.__head:count+=1cur=cur.next#count记录数量returncountdeftravel(self):"""遍历整个链表"""ifself.is_empty():returncur=self.__headwhilecur.next!=self.__head:print(cur.elem,end='')cur=cur.next#退出循环,cur指向尾结点,但尾节点的元素未打印print(cur.elem)defadd(self,item):"""链表头部添加元素:头插法"""node=Node(item)ifself.is_empty():self.__head=nodenode.next=nodeelse:cur=self.__headwhilecur.next!=self.__head:cur=cur.next#退出循环,cur指向尾结点node.next=self.__headself.__head=node#方式1:cur.next=nodecur.next=self.__head#方式2defappend(self,item):"""链表尾部添加元素:尾插法"""node=Node(item)#下一结点链接域不为空ifself.is_empty():self.__head=nodenode.next=nodeelse:cur=self.__headwhilecur.next!=self.__head:cur=cur.next#方式1:#node.next=cur.next#cur.next=node#方式2:cur.next=nodenode.next=self.__headdefinsert(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):"""删除元素"""#考虑删除头部、尾部、中间节点ifself.is_empty():returncur=self.__headpre=Nonewhilecur.next!=self.__head:ifcur.elem==item:#先判断是否是头节点ifcur==self.__head:#找到尾节点rear=self.__headwhilerear.next!=self.__head:rear=rear.nextself.__head=cur.nextrear.next=self.__headelse:#中间节点pre.next=cur.nextreturnelse:pre=curcur=cur.next#退出循环,cur指向尾结点ifcur.elem==item:ifcur==self.__head:#链表只有一个节点self.__head=Noneelse:pre.next=cur.nextdefsearch(self,item):"""查找节点是否存在"""ifself.is_empty():returnFalse#1.创建游标cur=self.__head#2.遍历游标whilecur.next!=self.__head:#3.cur.elem=itemifcur.elem==item:returnTrueelse:cur=cur.next#对于最后一个元素或只有一个元素ifcur.elem==item:returnTruereturnFalseif__name__=='__main__':ll=SingleCircularLinkList()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/310908.html 转载请保留说明!

上一篇:phpcms如何调二级导航(phpcms生成html)

下一篇:python如何访问字典(python访问字符串)

  • 笔记本装内存条开不了机(笔记本装内存条)(笔记本装内存条会变顺畅吗)

    笔记本装内存条开不了机(笔记本装内存条)(笔记本装内存条会变顺畅吗)

  • 苹果怎么显示网速多少(苹果怎么显示网络数据)

    苹果怎么显示网速多少(苹果怎么显示网络数据)

  • 美团支付宝付款如何操作(美团支付宝付款怎么取消绑定)

    美团支付宝付款如何操作(美团支付宝付款怎么取消绑定)

  • 苹果7p主板漏电症状(苹果笔记本电池不充电怎么回事)

    苹果7p主板漏电症状(苹果笔记本电池不充电怎么回事)

  • 输入抖音号为什么搜不到用户(输入抖音号为什么显示无结果)

    输入抖音号为什么搜不到用户(输入抖音号为什么显示无结果)

  • 华为手机截屏图片在哪个文件夹(华为手机截屏图片怎么删除不了)

    华为手机截屏图片在哪个文件夹(华为手机截屏图片怎么删除不了)

  • 变频器显示oc1是什么故障(变频器显示oc1是啥意思)

    变频器显示oc1是什么故障(变频器显示oc1是啥意思)

  • 知乎复制不了的文字怎么办(知乎app不能复制)

    知乎复制不了的文字怎么办(知乎app不能复制)

  • 苹果手机别人发微信视频没有声音怎么回事(苹果手机别人发微信不提示,打开微信才能看到)

    苹果手机别人发微信视频没有声音怎么回事(苹果手机别人发微信不提示,打开微信才能看到)

  • 探探退出登录别人还能看到我吗(探探退出登录别人还能看到位置吗)

    探探退出登录别人还能看到我吗(探探退出登录别人还能看到位置吗)

  • 交换机接路由器哪个口(交换机接路由器wan还是lan)

    交换机接路由器哪个口(交换机接路由器wan还是lan)

  • 整流用的元件是什么(整流用的元件是什么意思)

    整流用的元件是什么(整流用的元件是什么意思)

  • lioal00是什么手机(liion00是什么型号手机)

    lioal00是什么手机(liion00是什么型号手机)

  • 华为手表gt2可以离开手机打电话吗(华为手表gt2可以看图片吗)

    华为手表gt2可以离开手机打电话吗(华为手表gt2可以看图片吗)

  • ps怎么画不规则图形(ps怎么画不规则曲线)

    ps怎么画不规则图形(ps怎么画不规则曲线)

  • 乐视手机照片怎么免费恢复(乐视手机照片怎么导出)

    乐视手机照片怎么免费恢复(乐视手机照片怎么导出)

  • 免打扰来电什么意思(免打扰状态下来电话会听到什么)

    免打扰来电什么意思(免打扰状态下来电话会听到什么)

  • 如何解决ie不兼容的问题(贴吧热门评论)

    如何解决ie不兼容的问题(贴吧热门评论)

  • 亲情号对方能看到什么(亲情号对方能看到额度吗)

    亲情号对方能看到什么(亲情号对方能看到额度吗)

  • beatsx怎么恢复出厂

    beatsx怎么恢复出厂

  • 联想笔记本电脑开机键在哪里(联想笔记本电脑黑屏电源键亮着怎么处理)

    联想笔记本电脑开机键在哪里(联想笔记本电脑黑屏电源键亮着怎么处理)

  • ios13字体在哪下载(iphone13的字体)

    ios13字体在哪下载(iphone13的字体)

  • vivo开启log有什么用(vivolog开关在哪)

    vivo开启log有什么用(vivolog开关在哪)

  • 小米8青春版截屏的快捷键是什么(小米青春版截图快捷键)

    小米8青春版截屏的快捷键是什么(小米青春版截图快捷键)

  • 怎么看微信朋友圈是否被屏蔽(怎么看微信朋友是怎么添加的)

    怎么看微信朋友圈是否被屏蔽(怎么看微信朋友是怎么添加的)

  • vivoz3i有红外功能吗(vivoz3红外线在哪)

    vivoz3i有红外功能吗(vivoz3红外线在哪)

  • 设置melogincn(设置朋友圈仅限三天怎么设置)

    设置melogincn(设置朋友圈仅限三天怎么设置)

  • 常用的快速打开管理工具的命令(把快速打开)

    常用的快速打开管理工具的命令(把快速打开)

  • mysqld-nt.exe - mysqld-nt是什么进程 有什么用

    mysqld-nt.exe - mysqld-nt是什么进程 有什么用

  • 前端项目部署,阿里云服务器部署前端项目,超详细(前端项目部署到nginx)

    前端项目部署,阿里云服务器部署前端项目,超详细(前端项目部署到nginx)

  • 小企业外币交易的类型有哪些
  • 二手车需要交哪些额外的钱
  • 银行存款产生的利息怎么写分录
  • 送货单和收据单的区别
  • 残值要不要做分录
  • 租办公用房要交房产税吗
  • 资产类期末借方余额怎么算
  • 软件销售购销合同
  • 挂应付账款之后发现用现金付款如何调整?
  • 预收保费属于什么会计科目类别
  • 其他应收款在什么方
  • 企业为什么要签订集体合同
  • 转让合同债权
  • 关于个人所得税纳税人的说法正确的有
  • 没有库存先开票再发货
  • 出口退税企业分类
  • 用友软件报表公式
  • 5000元可以买什么东西
  • 本月没开发票怎样报税
  • 报销员工午餐费怎么入账
  • 收到商品预付款怎么做分录
  • 华为鸿蒙系统的服务
  • 申报个税和缴纳个税一样吗
  • win7系统电脑开机密码忘记了怎么办
  • nvm是啥
  • 借股东现金会计分录
  • php中imagecreatefromjpeg
  • 合同的第三方指什么
  • php写的代码怎么运行
  • 以前年度损益调整会计分录
  • thinkphp生成html
  • python基础100例
  • yolov3输出是什么
  • js let用法
  • yolov3训练自己的数据超详细
  • php eval绕过
  • 应收账款的平均余额怎么计算
  • 研发人员工资计入什么科目
  • 资产负债表与利润表之间的关系
  • 各行业税点大全最新
  • 金蝶财务软件系统要求
  • 发票没拿回来可以报销吗
  • 什么时候贷主营业务成本
  • 预付账款是什么意思大白话
  • 以前年度未处理往来账怎么叫
  • 暂估入账应该如何操作
  • 应收账款增加给哪一方
  • 付给销售人员的佣金会计分录
  • 独立核算的单位是什么意思
  • 农民工工资从专户里发放工资需要甲方盖章吗
  • 未达到起征点的增值税怎么填写
  • 实收资本主要包括哪些
  • 福利费取得的专票不能抵扣账怎么做
  • 注销企业基本户销户规定
  • 工资是先做后拿还是先拿后做
  • sql 关系数据库
  • mysql安装时出现的问题
  • mysql安装配置教程5.7.25
  • windows ftp软件
  • linux怎么使用ping命令
  • win8触摸板失灵怎么办
  • centos7自签名证书
  • 一岁的宝宝可以喝枸杞水吗
  • 搜集数据软件
  • win10自带的杀软叫什么
  • win10内置管理员账户禁用
  • win10无internet怎么办
  • unity 3d脚本编程
  • opengl语言
  • python进行统计分析
  • 如何用jquery
  • vue 分页 实现
  • html复选框和单选框区别在哪
  • Xamarin.Android 入门开发
  • javascript例题
  • python tonny
  • 国税账户密码在哪里能找到
  • 北京交通政务
  • 陕西宝鸡国税人才招聘
  • 江苏税务实名认证怎么更改
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设