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实现在windows服务中新建进程的方法
Jun 30 Python
Python中几种导入模块的方式总结
Apr 27 Python
matplotlib绘制动画代码示例
Jan 02 Python
Python学习之Anaconda的使用与配置方法
Jan 04 Python
python数字图像处理之高级形态学处理
Apr 27 Python
关于Python的一些学习总结
May 25 Python
python提取包含关键字的整行数据方法
Dec 11 Python
Python中正则表达式的用法总结
Feb 22 Python
Django实现学生管理系统
Feb 26 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
Jan 14 Python
Python os模块常用方法和属性总结
Feb 20 Python
Python常用模块函数代码汇总解析
Aug 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学习教程之第2天
2008/06/15 PHP
按上下级层次关系输出内容的PHP代码
2010/07/17 PHP
PHP学习之数组的定义和填充
2011/04/17 PHP
php 伪静态之IIS篇
2014/06/02 PHP
PHP静态成员变量
2017/02/14 PHP
PHP+MYSQL实现读写分离简单实战
2017/03/13 PHP
php mysql_list_dbs()函数用法示例
2017/03/29 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
PHP+redis实现微博的推模型案例分析
2019/07/10 PHP
Prototype使用指南之selector.js
2007/01/10 Javascript
Js 获取Gridview选中行的内容操作步骤
2013/02/05 Javascript
浅析Js(Jquery)中,字符串与JSON格式互相转换的示例(直接运行实例)
2013/07/09 Javascript
javascript实现完美拖拽效果
2015/05/06 Javascript
js过滤HTML标签完整实例
2015/11/26 Javascript
jQuery Mobile动态刷新页面样式的实现方法
2016/05/28 Javascript
jquery.masonry瀑布流效果
2017/05/25 jQuery
基于构造函数的五种继承方法小结
2017/07/27 Javascript
[40:57]TI4 循环赛第二日 iG vs EG
2014/07/11 DOTA
Python基于回溯法子集树模板解决0-1背包问题实例
2017/09/02 Python
Python 模拟购物车的实例讲解
2017/09/11 Python
基于TensorFlow常量、序列以及随机值生成实例
2020/01/04 Python
keras tensorflow 实现在python下多进程运行
2020/02/06 Python
详解PyQt5信号与槽的几种高级玩法
2020/03/24 Python
Python MOCK SERVER moco模拟接口测试过程解析
2020/04/13 Python
python多进程下的生产者和消费者模型
2020/05/07 Python
奥地利智能家居和智能生活网上商店:tink.at
2019/10/07 全球购物
车间调度岗位职责
2013/11/30 职场文书
英文自荐信
2013/12/15 职场文书
专升本个人自我评价
2013/12/22 职场文书
2014年计生协会工作总结
2014/11/21 职场文书
骨干教师个人总结
2015/02/11 职场文书
公司仓管员岗位职责
2015/04/01 职场文书
2015大学生入党个人自传
2015/06/26 职场文书
python3读取文件指定行的三种方法
2021/05/24 Python
html+css实现赛博朋克风格按钮
2021/05/26 HTML / CSS
Python获取字典中某个key的value
2022/04/13 Python