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 29 Python
编写Python脚本使得web页面上的代码高亮显示
Apr 24 Python
python类中super()和__init__()的区别
Oct 18 Python
通过Python实现自动填写调查问卷
Sep 06 Python
Django跨域请求问题的解决方法示例
Jun 16 Python
对dataframe数据之间求补集的实例详解
Jan 30 Python
使用PYTHON解析Wireshark的PCAP文件方法
Jul 23 Python
Django框架组成结构、基本概念与文件功能分析
Jul 30 Python
django-初始配置(纯手写)详解
Jul 30 Python
python函数修饰符@的使用方法解析
Sep 02 Python
VSCode中自动为Python文件添加头部注释
Nov 14 Python
Python爬虫+tkinter界面实现历史天气查询的思路详解
Feb 22 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 模拟登陆MSN并获得用户信息
2009/05/16 PHP
PHP 杂谈《重构-改善既有代码的设计》之五 简化函数调用
2012/05/07 PHP
PHP获取浏览器信息类和客户端地理位置的2个方法
2014/04/24 PHP
使用XHGui来测试PHP性能的教程
2015/07/03 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
2019/06/05 PHP
基于Asp.net与Javascript控制的日期控件
2010/05/22 Javascript
JavaScript中变量提升 Hoisting
2012/07/03 Javascript
nodejs教程 安装express及配置app.js文件的详细步骤
2013/05/11 NodeJs
限制textbox或textarea输入字符长度的JS代码
2013/10/16 Javascript
JavaScript设置首页和收藏页面的小例子
2013/11/11 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
jQuery控制frames及frame页面JS的方法
2016/03/08 Javascript
Jquery揭秘系列:ajax原生js实现详解(推荐)
2016/06/08 Javascript
bootstrap flask登录页面编写实例
2016/11/01 Javascript
基于Vue实现拖拽功能
2020/07/29 Javascript
深入理解Vue keep-alive及实践总结
2019/08/21 Javascript
Vue computed 计算属性代码实例
2020/04/22 Javascript
微信小程序开发之获取用户手机号码(php接口解密)
2020/05/17 Javascript
15分钟上手vue3.0(小结)
2020/05/20 Javascript
[02:38]DOTA2亚洲邀请赛 IG战队巡礼
2015/02/03 DOTA
Python科学计算环境推荐——Anaconda
2014/06/30 Python
Python定义函数功能与用法实例详解
2019/04/08 Python
pyqt5 QProgressBar清空进度条的实例
2019/06/21 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
2019/11/19 Python
VSCode配合pipenv搞定虚拟环境的实现方法
2020/05/17 Python
在django中实现choices字段获取对应字段值
2020/07/12 Python
使用CSS3在触屏上为按钮实现激活效果
2013/09/27 HTML / CSS
html5 css3实例教程 一款html5和css3实现的小机器人走路动画
2014/10/20 HTML / CSS
世嘉游戏英国官方商店:SEGA Shop UK
2019/09/20 全球购物
不同浏览器创建XMLHttpRequest方法有什么不同
2014/11/17 面试题
如何清空Session
2015/02/23 面试题
小学教研工作制度
2014/01/15 职场文书
文员试用期转正自我鉴定
2014/09/14 职场文书
判缓刑人员个人思想汇报
2014/10/10 职场文书
毕业赠语大全
2015/06/23 职场文书
学校教学管理制度
2015/08/06 职场文书