python操作链表的示例代码
classNode: def__init__(self,dataval=None): self.dataval=dataval self.nextval=None classSLinkList: def__init__(self): self.headval=None #遍历列表 deftraversal_slist(self): head_node=self.headval whilehead_nodeisnotNone: print(head_node.dataval) head_node=head_node.nextval #表头插入结点 defhead_insert(self,newdata): Newdata=Node(newdata) Newdata.nextval=self.headval self.headval=Newdata #表尾插入结点 deftail_insert(self,newdata): Newdata=Node(newdata) ifself.headvalisNone: self.headval=Newdata return head_node=self.headval whilehead_node.nextval: head_node=head_node.nextval head_node.nextval=Newdata #在两个数据结点之间插入 defmiddle_insert(self,middle_node,newdata): Newdata=Node(newdata) ifmiddle_nodeisNone: return Newdata.nextval=middle_node.nextval middle_node.nextval=Newdata #删除结点 defremove_node(self,newdata): head_node=self.headval ifhead_node==None: return ifhead_node.dataval==newdata: self.headval=head_node.nextval head_node=None return whilehead_nodeisnotNone: prev=head_node head_node=head_node.nextval ifhead_node: ifhead_node.dataval==newdata: prev.nextval=head_node.nextval lis=SLinkList() lis.headval=Node('aa') ee=Node('bb') lis.headval.nextval=ee lis.head_insert('cc') lis.tail_insert('dd') lis.middle_insert(ee,"Fri") lis.remove_node('bb') lis.traversal_slist()
以上就是python操作链表的示例代码的详细内容,更多关于Python链表的资料请关注毛票票其它相关文章!