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
  • asp之家 网络编程 m.aspxhome.com