python操作链表的示例代码
作者:HHMLXL 时间:2023-08-08 23:55:41
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()
来源:https://www.cnblogs.com/HHMLXL/p/13589359.html
标签:python,链表
0
投稿
猜你喜欢
Asp中如何快速分页的技巧
2008-05-17 12:02:00
关于msyql事务隔离你要知道
2024-01-27 11:07:31
Python中is与==的使用区别详解
2023-10-15 04:08:21
安装完Python包然后找不到模块的解决步骤
2022-01-23 05:38:10
python实现的人脸识别打卡系统
2022-12-01 16:15:21
python enumerate内置函数用法总结
2023-06-24 05:54:24
numpy的Fancy Indexing和array比较详解
2022-05-12 23:31:46
关于TypeScript模块导入的那些事
2024-06-07 15:57:46
使用python-cv2实现Harr+Adaboost人脸识别的示例
2022-03-16 01:05:10
Python使用OpenCV对图像进行缩放功能
2022-05-06 03:47:51
Python利用Nagios增加微信报警通知的功能
2021-07-15 13:48:46
如何设计注册激活邮件
2010-01-12 13:14:00
mYsql日期和时间函数不求人
2024-01-24 03:51:11
MySQL 随机函数获取数据速度和效率分析
2024-01-13 00:43:01
python3 打开外部程序及关闭的示例
2022-06-16 22:23:15
简化ADO数据库操作的控件(带分页功能)
2008-05-20 13:15:00
Yolov5训练意外中断后如何接续训练详解
2022-05-14 00:16:51
python连接、操作mongodb数据库的方法实例详解
2024-01-12 13:44:40
PyTorch的SoftMax交叉熵损失和梯度用法
2023-06-17 12:46:49
由浅到深了解JavaScript类
2008-06-16 13:20:00