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编程实现微信企业号文本消息推送功能示例
Aug 21 Python
Python实现PS滤镜的旋转模糊功能示例
Jan 20 Python
Python调用adb命令实现对多台设备同时进行reboot的方法
Oct 15 Python
python pands实现execl转csv 并修改csv指定列的方法
Dec 12 Python
python-opencv 将连续图片写成视频格式的方法
Jan 08 Python
基于腾讯云服务器部署微信小程序后台服务(Python+Django)
May 08 Python
python获取地震信息 微信实时推送
Jun 18 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
Apr 02 Python
Python 字节流,字符串,十六进制相互转换实例(binascii,bytes)
May 11 Python
python网络编程之五子棋游戏
May 14 Python
pytorch显存一直变大的解决方案
Apr 08 Python
基于python实现银行管理系统
Apr 20 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生成静态页面详解
2006/12/05 PHP
thinkphp控制器调度使用示例
2014/02/24 PHP
PHP数学运算函数大汇总(经典值得收藏)
2016/04/01 PHP
javascript脚本编程解决考试分数统计问题
2008/10/18 Javascript
利用JavaScript检测CPU使用率自己写的
2014/03/22 Javascript
JS实现网页滚动条感应鼠标变色的方法
2015/02/26 Javascript
深入理解JavaScript系列(43):设计模式之状态模式详解
2015/03/04 Javascript
ui组件之input多选下拉实现方法(带有搜索功能)
2016/07/14 Javascript
关于jQuery库冲突的完美解决办法
2017/05/20 jQuery
layui的select联动实现代码
2019/09/28 Javascript
微信小程序scroll-view锚点链接滚动跳转功能
2019/12/12 Javascript
Python编写登陆接口的方法
2017/07/10 Python
python 反向输出字符串的方法
2018/07/16 Python
Python获取一个用户名的组ID过程解析
2019/09/03 Python
python zip()函数使用方法解析
2019/10/31 Python
Python读取实时数据流示例
2019/12/02 Python
Python3 使用selenium插件爬取苏宁商家联系电话
2019/12/23 Python
Python字符串split及rsplit方法原理详解
2020/06/29 Python
彻底搞懂python 迭代器和生成器
2020/09/07 Python
Python利用pip安装tar.gz格式的离线资源包
2020/09/14 Python
CSS3 伪类选择器 nth-child()说明
2010/07/10 HTML / CSS
End Clothing美国站:英国男士潮牌商城
2018/04/20 全球购物
大学军训感想
2014/02/12 职场文书
陈欧的广告词
2014/03/18 职场文书
《春晓》教学反思
2014/04/20 职场文书
期末学生评语大全
2014/04/24 职场文书
2014年自愿离婚协议书
2014/10/10 职场文书
化妆品促销活动总结
2015/05/07 职场文书
调解书格式范本
2015/05/20 职场文书
唱歌比赛拉拉队口号
2015/12/25 职场文书
广播稿:校园广播稿范文
2019/04/17 职场文书
大学生奖学金获奖感言(范文)
2019/08/15 职场文书
导游词之嵊泗列岛
2019/10/30 职场文书
MySQL表的增删改查(基础)
2021/04/05 MySQL
SQL Server2019数据库备份与还原脚本,数据库可批量备份
2021/11/20 SQL Server
React自定义hook的方法
2022/06/25 Javascript