python操作链表的示例代码
更新时间:2020年09月27日 14:35:28 作者:HHMLXL
这篇文章主要介绍了python操作链表的示例代码,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
class Node:
def __init__(self,dataval=None):
self.dataval=dataval
self.nextval=None
class SLinkList:
def __init__(self):
self.headval=None
# 遍历列表
def traversal_slist(self):
head_node=self.headval
while head_node is not None:
print(head_node.dataval)
head_node=head_node.nextval
# 表头插入结点
def head_insert(self,newdata):
Newdata=Node(newdata)
Newdata.nextval=self.headval
self.headval=Newdata
# 表尾插入结点
def tail_insert(self,newdata):
Newdata=Node(newdata)
if self.headval is None:
self.headval=Newdata
return
head_node = self.headval
while head_node.nextval :
head_node=head_node.nextval
head_node.nextval=Newdata
# 在两个数据结点之间插入
def middle_insert(self,middle_node,newdata):
Newdata=Node(newdata)
if middle_node is None:
return
Newdata.nextval=middle_node.nextval
middle_node.nextval=Newdata
# 删除结点
def remove_node(self,newdata):
head_node=self.headval
if head_node==None:
return
if head_node.dataval == newdata:
self.headval = head_node.nextval
head_node = None
return
while head_node is not None:
prev=head_node
head_node=head_node.nextval
if head_node:
if head_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链表的资料请关注脚本之家其它相关文章!
相关文章
如何用Python中Tushare包轻松完成股票筛选(详细流程操作)
这篇文章主要介绍了如何用Python中Tushare包轻松完成股票筛选(详细流程操作),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2021-03-03
Python中Windows和macOS文件路径格式不一致的解决方法
在 Python 中,Windows 和 macOS 的文件路径字符串格式不一致主要体现在路径分隔符上,这种差异可能导致跨平台代码在处理文件路径时出错,下面我们看看如何解决吧2025-03-03
浅谈Keras参数 input_shape、input_dim和input_length用法
这篇文章主要介绍了浅谈Keras参数 input_shape、input_dim和input_length用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-06-06


最新评论