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

  • 按适用税率征税销售额等于销售收入吗
  • 所得税资产和所得税费用
  • 含税价怎么算不含税价
  • 计提印花税会计分录
  • 小规模纳税人怎么变成一般纳税人
  • 出口报关单怎么做会计凭证
  • 开办费抵扣多少企业所得税
  • 收到的增值税
  • 销售免税产品怎么做分录
  • 社会团体收到的投资款怎么入账
  • 公司股权平价转让要交税吗
  • 企业收到供货单位提供的材料,如其价款大于
  • 异地工程预缴个税
  • 财税[2010]121号中的宗地容积率指的是什么?
  • 贷款利息能抵税吗现在
  • 金融企业贷款利息收入确认
  • 外地预缴附加税减半
  • 技术调试费用开几个点税
  • 政府委托代建的房地产公司是否可以开立农民工工资
  • 主营业务收入会计分录怎样写
  • 企业滞纳金属于什么会计科目
  • 如何使用网络安全
  • 年底所得税账务处理
  • 现金解款单怎么读
  • 纳税人辅导期申报流程
  • linux编译安装php扩展命令
  • php中pdo
  • linux系统操作教程
  • 小微企业声明函去哪个部门开
  • 餐厅场租费可以开发票吗
  • c语言strncat函数用法
  • Android ViewPager2 + Fragment 联动
  • 定额备用金制度报销时用什么科目
  • 公益性捐赠支出纳税调整
  • 待摊费用新准则解读
  • discuz设置门户
  • 退预收款需要对账吗
  • 公司活动赠送小礼品
  • 企业所得税该什么科目
  • 企业摊销无形资产价值时的会计处理
  • PostgreSQL教程(十四):数据库维护
  • 理解的近义词
  • sql语句分组汇总
  • sqlyog与mysql
  • 数据库varchar和nvarchar
  • 年末已经结账了怎么入账
  • 标书费没有发票合理吗
  • 典当业销售的死当物品是什么意思
  • 公户转到老板私户要多久
  • 一般来说,采取质押贷款方式
  • 小规模纳税人免税政策2023年
  • 小规模纳税人公司注册条件
  • 工资计提数小于发放数,如何处理
  • 预付账款用途
  • 其他应付款时间长了怎么处理?
  • 获取sql
  • sql判断字段是否包含数字和字母
  • mysql函数用法
  • sql自动增长是什么意思
  • bios解除
  • 2003怎么创建用户
  • debian10.6安装教程
  • win8系统升级到win10东西还在吗
  • WIN10开启高性能模式
  • ubuntu服务器命令
  • centos6.10安装教程
  • win8有几个版本
  • ubuntu 命令行修改用户密码
  • mac系统怎么创建用户
  • 打开字符面板
  • win10禁止显卡驱动自动安装
  • cocos2dx AudioEngine初体验,音效播放结束判断测试
  • nodejs制作网站
  • vue中拦截器
  • 如何自动更正
  • 文章标题用几号字体
  • unity获取手机型号
  • 网页加载多个js文件冲突
  • windows搭建python运行环境
  • python dict.get()和dict['key']的区别详解
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设