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链表的资料请关注毛票票其它相关文章!