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的Urllib库的一些高级用法
Apr 30 Python
对比Python中__getattr__和 __getattribute__获取属性的用法
Jun 21 Python
Python冒泡排序注意要点实例详解
Sep 09 Python
Python 元类实例解析
Apr 04 Python
浅谈tensorflow中几个随机函数的用法
Jul 27 Python
Python实现Selenium自动化Page模式
Jul 14 Python
python re.sub()替换正则的匹配内容方法
Jul 22 Python
Django REST Framework之频率限制的使用
Sep 29 Python
python已协程方式处理任务实现过程
Dec 27 Python
基于Pyinstaller打包Python程序并压缩文件大小
May 28 Python
Python3爬虫中关于Ajax分析方法的总结
Jul 10 Python
LeetCode189轮转数组python示例
Aug 05 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
合作指挥官:孟斯克
2020/03/16 星际争霸
php中的Base62类(适用于数值转字符串)
2013/08/12 PHP
thinkphp修改配置进入默认首页的方法
2017/02/07 PHP
控制打印时页眉角的代码
2007/02/08 Javascript
JavaScript 事件系统
2010/07/22 Javascript
JS页面延迟执行一些方法(整理)
2013/11/11 Javascript
jQuery中Form相关知识汇总
2015/01/06 Javascript
jQuery源码分析之jQuery.fn.each与jQuery.each用法
2015/01/23 Javascript
js console.log打印对像与数组用法详解
2016/01/21 Javascript
使用BootStrap实现用户登录界面UI
2016/08/10 Javascript
js实现右键自定义菜单
2016/12/03 Javascript
json的结构与遍历方法实例分析
2017/04/25 Javascript
深入理解Webpack 中路径的配置
2017/06/17 Javascript
jQuery实现参数自定义的文字跑马灯效果
2018/08/15 jQuery
Vue请求JSON Server服务器数据的实现方法
2018/11/02 Javascript
解决Vue-Router升级导致的Uncaught (in promise)问题
2020/08/07 Javascript
js+canvas实现图片格式webp/png/jpeg在线转换
2020/08/22 Javascript
[00:34]拔城逐梦,热血永恒!2020(秋)完美世界城市挑战赛报名开启
2020/10/09 DOTA
使用FastCGI部署Python的Django应用的教程
2015/07/22 Python
使用XML库的方式,实现RPC通信的方法(推荐)
2017/06/14 Python
Python使用matplotlib简单绘图示例
2018/02/01 Python
Python实现查找字符串数组最长公共前缀示例
2019/03/27 Python
Python和Java的语法对比分析语法简洁上python的确完美胜出
2019/05/10 Python
pandas.cut具体使用总结
2019/06/24 Python
python如何基于redis实现ip代理池
2020/01/17 Python
keras的ImageDataGenerator和flow()的用法说明
2020/07/03 Python
新西兰网上购物,折扣店:BestDeals.co.nz
2019/03/20 全球购物
高中生学习生活的自我评价
2013/10/09 职场文书
出生医学证明样本
2014/01/17 职场文书
《雪地里的小画家》教学反思
2014/02/22 职场文书
党员目标管理责任书
2014/07/25 职场文书
承诺函格式模板
2015/01/21 职场文书
贫民窟的百万富翁观后感
2015/06/09 职场文书
导游词之河北滦平金山岭长城
2019/10/16 职场文书
python 用递归实现通用爬虫解析器
2021/04/16 Python
Win11自动黑屏怎么办 Win11自动黑屏设置教程
2022/07/15 数码科技