介绍
今天就跟大家聊聊有关python实现操作链表的方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
类节点: def __init__(自我,dataval=None): self.dataval=dataval self.nextval=没有 类SLinkList: def __init__(自我): self.headval=没有 #遍历列表 def traversal_slist(自我): head_node=self.headval 虽然head_node不是没有: 打印(head_node.dataval) head_node=head_node.nextval #表头插入结点 def head_insert(自我,newdata): Newdata=节点(Newdata) Newdata.nextval=self.headval self.headval=Newdata #表尾插入结点 def tail_insert(自我,newdata): Newdata=节点(Newdata) 如果自我。headval没有: self.headval=Newdata 返回 head_node=self.headval 而head_node。nextval: head_node=head_node.nextval head_node.nextval=Newdata #在两个数据结点之间插入 def middle_insert(自我、middle_node newdata): Newdata=节点(Newdata) 如果middle_node没有: 返回 Newdata.nextval=middle_node.nextval middle_node.nextval=Newdata #删除结点 def remove_node(自我,newdata): head_node=self.headval 如果head_node==没有: 返回 如果head_node。dataval==newdata: 自我。headval=head_node.nextval head_node=没有 返回 虽然head_node不是没有: prev=head_node head_node=head_node.nextval 如果head_node: 如果head_node.dataval==newdata: prev.nextval=head_node.nextval lis=SLinkList () lis.headval=节点(& # 39;aa # 39;) ee=节点(& # 39;bb # 39;) lis.headval.nextval=ee lis.head_insert (& # 39; cc # 39;) lis.tail_insert (& # 39; dd # 39;) lis.middle_insert (ee,“Fri") lis.remove_node (& # 39; bb # 39;) lis.traversal_slist ()
看完上述内容,你们对python实现操作链表的方法有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。