python操作链表的示例代码


Posted in Python onSeptember 27, 2020
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 相关文章推荐
简单介绍Python中的round()方法
May 15 Python
Python中的字符串查找操作方法总结
Jun 27 Python
Python探索之SocketServer详解
Oct 28 Python
基于Python __dict__与dir()的区别详解
Oct 30 Python
python使用json序列化datetime类型实例解析
Feb 11 Python
pandas数据清洗,排序,索引设置,数据选取方法
May 18 Python
Python使用sax模块解析XML文件示例
Apr 04 Python
对Python中画图时候的线类型详解
Jul 07 Python
pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)
Jan 18 Python
对Tensorflow中tensorboard日志的生成与显示详解
Feb 04 Python
Python 如何反方向迭代一个序列
Jul 28 Python
Python函数中apply、map、applymap的区别
Nov 27 Python
python用tkinter实现一个简易能进行随机点名的界面
Sep 27 #Python
python实现暗通道去雾算法的示例
Sep 27 #Python
谈谈python垃圾回收机制
Sep 27 #Python
如何在python中处理配置文件代码实例
Sep 27 #Python
Python 开发工具通过 agent 代理使用的方法
Sep 27 #Python
python 读取、写入txt文件的示例
Sep 27 #Python
python 动态绘制爱心的示例
Sep 27 #Python
You might like
php中长文章分页显示实现代码
2012/09/29 PHP
浅谈PHP解析URL函数parse_url和parse_str
2014/11/11 PHP
CI框架数据库查询之join用法分析
2016/05/18 PHP
PHP中常用的魔术方法
2017/04/28 PHP
thinkPHP5实现的查询数据库并返回json数据实例
2017/10/23 PHP
对js关键字命名的疑问介绍
2014/04/25 Javascript
jquery实现可拖拽弹出层特效
2015/01/04 Javascript
jquery easyui datagrid实现增加,修改,删除方法总结
2016/05/25 Javascript
Ionic 2 实现列表滑动删除按钮的方法
2017/01/22 Javascript
VUE axios发送跨域请求需要注意的问题
2017/07/06 Javascript
jQuery实现可兼容IE6的淡入淡出效果告警提示功能示例
2017/09/20 jQuery
VUE element-ui 写个复用Table组件的示例代码
2017/11/18 Javascript
详解Js里的for…in和for…of的用法
2019/03/28 Javascript
JS实现图片轮播效果实例详解【可自动和手动】
2019/04/04 Javascript
JS实现网站楼层导航效果代码实例
2020/06/16 Javascript
[02:25]DOTA2英雄基础教程 生死判决瘟疫法师
2013/12/06 DOTA
python更新列表的方法
2015/07/28 Python
安装ElasticSearch搜索工具并配置Python驱动的方法
2015/12/22 Python
简单了解OpenCV是个什么东西
2017/11/10 Python
python构建深度神经网络(续)
2018/03/10 Python
Python将一个CSV文件里的数据追加到另一个CSV文件的方法
2018/07/04 Python
对python3中的RE(正则表达式)-详细总结
2019/07/23 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
2019/08/22 Python
python实现发送form-data数据的方法详解
2019/09/27 Python
Python RabbitMQ实现简单的进程间通信示例
2020/07/02 Python
python try...finally...的实现方法
2020/11/25 Python
python中pow函数用法及功能说明
2020/12/04 Python
香港个人化生活购物网站:Ballyhoo Limited
2016/09/10 全球购物
Ajax的工作原理
2015/12/04 面试题
银行财务部实习生的自我鉴定
2013/11/27 职场文书
养殖行业的创业计划书
2014/01/05 职场文书
工作感言一句话
2015/08/01 职场文书
诚实守信主题班会
2015/08/13 职场文书
青少年法制教育心得体会
2016/01/14 职场文书
Python OpenCV之常用滤波器使用详解
2022/04/07 Python
分析SQL窗口函数之取值窗口函数
2022/04/21 Oracle