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 元类使用说明
Dec 18 Python
python通过shutil实现快速文件复制的方法
Mar 14 Python
python实现线程池的方法
Jun 30 Python
详解 Python 读写XML文件的实例
Aug 02 Python
Python 获取div标签中的文字实例
Dec 20 Python
python进程和线程用法知识点总结
May 28 Python
Python Web框架之Django框架Form组件用法详解
Aug 16 Python
Python通过cv2读取多个USB摄像头
Aug 28 Python
django实现将修改好的新模型写入数据库
Mar 31 Python
使用pytorch实现线性回归
Apr 11 Python
健身房被搭讪?用python写了个小米计时器助人为乐
Jun 08 Python
Python软件包安装的三种常见方法
Jul 07 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支持页面回退的两种方法[转]
2007/02/14 PHP
php中用于检测一个地理IP地址是否可用的代码
2012/02/19 PHP
PHP中使用gettext解决国际化问题的例子(i18n)
2014/06/13 PHP
CodeIgniter中实现泛域名解析
2014/07/19 PHP
destoon实现不同会员组公司名称显示不同的颜色的方法
2014/08/22 PHP
Yii2简单实现给表单添加验证码的方法
2016/07/18 PHP
Laravel5.5 动态切换多语言的操作方式
2019/10/25 PHP
借助JavaScript脚本判断浏览器Flash Player信息的方法
2014/07/09 Javascript
jQuery菜单插件用法实例
2015/07/25 Javascript
jQuery实现页面点击后退弹出提示框的方法
2016/08/24 Javascript
jQuery通过ajax方法获取json数据不执行success的原因及解决方法
2016/10/15 Javascript
实例解析Array和String方法
2016/12/14 Javascript
Vue 使用 Mint UI 实现左滑删除效果CellSwipe
2018/04/27 Javascript
微信小程序实现折叠与展开文章功能
2018/06/12 Javascript
vue.js实现图书管理功能
2019/09/24 Javascript
JS实现百度搜索框
2021/02/25 Javascript
[02:06]2018完美世界全国高校联赛秋季赛开始报名(附彩蛋)
2018/09/03 DOTA
windows下安装python paramiko模块的代码
2013/02/10 Python
Python的Flask框架中配置多个子域名的方法讲解
2016/06/07 Python
Python定义一个跨越多行的字符串的多种方法小结
2018/07/19 Python
浅谈Python批处理文件夹中的txt文件
2019/03/11 Python
python学习--使用QQ邮箱发送邮件代码实例
2019/04/16 Python
Python批量查询关键词微信指数实例方法
2019/06/27 Python
在Python中预先初始化列表内容和长度的实现
2019/11/28 Python
使用Python爬虫库requests发送表单数据和JSON数据
2020/01/25 Python
Python更换pip源方法过程解析
2020/05/19 Python
python如何实时获取tcpdump输出
2020/09/16 Python
委托书范本
2014/04/02 职场文书
森林病虫害防治方案
2014/06/02 职场文书
煤矿安全生产标语
2014/06/06 职场文书
校园绿化美化方案
2014/06/08 职场文书
师范生求职自荐信
2014/06/14 职场文书
上级领导检查欢迎词
2015/09/30 职场文书
css3 实现文字闪烁效果的三种方式示例代码
2021/04/25 HTML / CSS
Spring Data JPA框架的核心概念和Repository接口
2022/04/28 Java/Android
Python TypeError: ‘float‘ object is not subscriptable错误解决
2022/12/24 Python