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的垃圾回收机制深入分析
Jul 16 Python
python OpenCV学习笔记实现二维直方图
Feb 08 Python
python 将数据保存为excel的xls格式(实例讲解)
May 03 Python
tensorflow实现简单的卷积网络
May 24 Python
基于Python对数据shape的常见操作详解
Dec 25 Python
python opencv根据颜色进行目标检测的方法示例
Jan 15 Python
Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程
Mar 07 Python
Selenium使用Chrome模拟手机浏览器方法解析
Apr 10 Python
Python flask框架实现查询数据库并显示数据
Jun 04 Python
python 密码学示例——理解哈希(Hash)算法
Sep 21 Python
python3从网络摄像机解析mjpeg http流的示例
Nov 13 Python
Python基础知识学习之类的继承
May 31 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+jQuery实现双击修改table表格功能示例
2019/02/21 PHP
写了一个layout,拖动条连贯,内容区可为iframe
2007/08/19 Javascript
jquery 屏蔽一个区域内的所有元素,禁止输入
2009/10/22 Javascript
window.event.keyCode兼容IE和Firefox实现js代码
2013/05/30 Javascript
Jquery实现控件的隐藏和显示实例
2014/02/08 Javascript
node.js中的fs.symlink方法使用说明
2014/12/15 Javascript
JQuery显示隐藏DIV的方法及代码实例
2015/04/16 Javascript
JS实现方向键切换输入框焦点的方法
2015/08/19 Javascript
20分钟轻松创建自己的Bootstrap站点
2016/05/12 Javascript
js实现页面跳转的几种方法小结
2016/05/16 Javascript
JS实现的跨浏览器解析XML文件实例
2016/06/21 Javascript
Vue如何引入远程JS文件
2017/04/20 Javascript
微信小程序自定义组件
2017/08/16 Javascript
微信小程序使用template标签实现五星评分功能
2018/11/03 Javascript
js实现掷骰子小游戏
2019/10/24 Javascript
分享JS表单验证源码(带错误提示及密码等级)
2020/01/05 Javascript
JavaScript中clientWidth,offsetWidth,scrollWidth的区别
2021/01/25 Javascript
jupyter安装小结
2016/03/13 Python
python 3.6.4 安装配置方法图文教程
2018/09/18 Python
Django自定义模板过滤器和标签的实现方法
2019/08/21 Python
使用python切片实现二维数组复制示例
2019/11/26 Python
flask框架自定义url转换器操作详解
2020/01/25 Python
python Canny边缘检测算法的实现
2020/04/24 Python
在Mac中配置Python虚拟环境过程解析
2020/06/22 Python
keras.utils.to_categorical和one hot格式解析
2020/07/02 Python
python 读取串口数据的示例
2020/11/09 Python
Django 实现图片上传和下载功能
2020/12/31 Python
纽约手袋品牌:KARA
2018/03/18 全球购物
Nike挪威官网:Nike.com (NO)
2018/11/26 全球购物
Expedia瑞典官网:预订度假屋、酒店、汽车租赁、机票等
2021/01/23 全球购物
《可爱的动物》教学反思
2014/02/22 职场文书
2014年单位植树节活动方案
2014/03/23 职场文书
低碳日宣传活动总结
2014/07/09 职场文书
离婚民事起诉状
2015/08/03 职场文书
MySQL七大JOIN的具体使用
2022/02/28 MySQL