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基于BeautifulSoup实现抓取网页指定内容的方法
Jul 09 Python
Python发送form-data请求及拼接form-data内容的方法
Mar 05 Python
Python数据结构与算法之常见的分配排序法示例【桶排序与基数排序】
Dec 15 Python
python最小生成树kruskal与prim算法详解
Jan 17 Python
python的turtle库使用详解
May 10 Python
python读写csv文件的方法
Aug 13 Python
利用Python小工具实现3秒钟将视频转换为音频
Oct 29 Python
python 实现目录复制的三种小结
Dec 04 Python
Python实现动态循环输出文字功能
May 07 Python
keras的ImageDataGenerator和flow()的用法说明
Jul 03 Python
python redis存入字典序列化存储教程
Jul 16 Python
详解python字符串驻留技术
May 21 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
分页显示Oracle数据库记录的类之二
2006/10/09 PHP
探讨如何使用SimpleXML函数来加载和解析XML文档
2013/06/07 PHP
php中json_encode处理gbk与gb2312中文乱码问题的解决方法
2014/07/10 PHP
PHP实现手机号码中间四位用星号(*)隐藏的自定义函数分享
2014/09/27 PHP
对PHP PDO的一些认识小结
2015/01/23 PHP
PHP实现自动发送邮件功能代码(qq 邮箱)
2017/08/18 PHP
PHP使用PDO、mysqli扩展实现与数据库交互操作详解
2019/07/20 PHP
最新优化收藏到网摘代码(digg,diigo)
2007/02/07 Javascript
js实现快速分享功能(你的文章分享工具)
2013/06/25 Javascript
JS Loading功能的简单实现
2013/11/29 Javascript
js怎么判断flash swf文件是否加载完毕
2014/08/14 Javascript
使用Javascript简单实现图片无缝滚动
2014/12/05 Javascript
JavaScript实现向右伸出的多级网页菜单效果
2015/08/25 Javascript
JS+CSS实现大气清新的滑动菜单效果代码
2015/10/22 Javascript
JavaScript实现简单的tab选项卡切换
2016/01/05 Javascript
jquery ztree实现模糊搜索功能
2016/02/25 Javascript
JS封装的自动创建表格的实现代码
2016/06/15 Javascript
VUE2实现事件驱动弹窗示例
2017/10/21 Javascript
使用pkg打包Node.js应用的方法步骤
2018/10/19 Javascript
解决layui调用自定义方法提示未定义的问题
2019/09/14 Javascript
从零搭一个自用的前端脚手架的方法步骤
2019/09/23 Javascript
vue-cli2与vue-cli3在一台电脑共存的实现方法
2019/09/25 Javascript
vue实现日历表格(element-ui)
2020/09/24 Javascript
[00:38]TI珍贵瞬间系列(二):笑
2020/08/26 DOTA
Python爬虫实例_城市公交网络站点数据的爬取方法
2018/01/10 Python
Python request设置HTTPS代理代码解析
2018/02/12 Python
python提取xml里面的链接源码详解
2019/10/15 Python
python opencv圆、椭圆与任意多边形的绘制实例详解
2020/02/06 Python
浅谈Html5中视频 音频标签 进度条的问题
2016/07/26 HTML / CSS
波兰香水和化妆品购物网站:Notino.pl
2017/11/07 全球购物
澳大利亚领先的在线药房:Pharmacy Online(有中文站)
2020/02/22 全球购物
三年级音乐教学反思
2014/01/28 职场文书
教师个人剖析材料
2014/02/05 职场文书
敬老院标语
2014/06/27 职场文书
重阳节慰问信
2015/02/15 职场文书
初婚初育证明范本
2015/06/18 职场文书