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和perl实现批量对目录下电子书文件重命名的代码分享
Nov 21 Python
Python格式化css文件的方法
Mar 10 Python
python+django快速实现文件上传
Oct 24 Python
Python numpy 点数组去重的实例
Apr 18 Python
python二维列表一维列表的互相转换实例
Jul 02 Python
python使用opencv对图像mask处理的方法
Jul 05 Python
Python 中的pygame安装与配置教程详解
Feb 10 Python
Python通过len函数返回对象长度
Oct 22 Python
python自动化发送邮件实例讲解
Jan 04 Python
java关于string最常出现的面试题整理
Jan 18 Python
Python爬虫实战之爬取携程评论
Jun 02 Python
详细介绍python操作RabbitMq
Apr 12 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中simplexml_load_file函数用法实例
2014/11/12 PHP
今天你说520了吗?不仅有php表白书还有java表白神器
2016/05/20 PHP
最新最全PHP生成制作验证码代码详解(推荐)
2016/06/12 PHP
Laravel框架创建路由的方法详解
2019/09/04 PHP
javascript打印大全(打印页面设置/打印预览代码)
2013/03/29 Javascript
JS替换字符串中字符即替换全部而不是第一个
2014/06/04 Javascript
Javascript中call和apply函数的比较和使用实例
2015/02/03 Javascript
深入理解JavaScript系列(19):求值策略(Evaluation strategy)详解
2015/03/05 Javascript
常用的Javascript设计模式小结
2015/12/09 Javascript
JS实现的自定义水平滚动字体插件完整实例
2016/06/17 Javascript
浅谈Nodejs中的作用域问题
2016/12/26 NodeJs
JQ图片文件上传之前预览功能的简单实例(分享)
2017/11/12 Javascript
JS写谷歌浏览器chrome的外挂实例
2018/01/11 Javascript
React Form组件的实现封装杂谈
2018/05/07 Javascript
使用javascript函数编写简单银行取钱存钱流程
2018/05/26 Javascript
详解vue移动端项目代码拆分记录
2019/03/15 Javascript
js消除图片小游戏代码
2019/12/11 Javascript
解决vue页面刷新,数据丢失的问题
2020/11/24 Vue.js
详解实现vue的数据响应式原理
2021/01/20 Vue.js
[46:10]2014 DOTA2国际邀请赛中国区预选赛 CnB VS HGT
2014/05/21 DOTA
Python实现抓取网页生成Excel文件的方法示例
2017/08/05 Python
Python3实现的字典、列表和json对象互转功能示例
2018/05/22 Python
python 实现查找文件并输出满足某一条件的数据项方法
2019/06/12 Python
python+rsync精确同步指定格式文件
2019/08/29 Python
python 串行执行和并行执行实例
2020/04/30 Python
MATLAB数学建模之画图汇总
2020/07/16 Python
Python字符串查找基本操作代码案例
2020/10/27 Python
20佳惊艳的HTML5应用程序示例分享
2011/05/03 HTML / CSS
Ratchet 模态框的实现
2020/08/19 HTML / CSS
纪伊国屋泰国网上书店:Kinokuniya泰国
2017/12/24 全球购物
大学生个人推荐信范文
2013/11/25 职场文书
学校安全工作制度
2014/01/19 职场文书
财经学院自荐信范文
2014/02/02 职场文书
广告设计应届生求职信
2014/03/01 职场文书
学校党委副书记个人对照检查材料思想汇报
2014/09/28 职场文书
评测 | 大屏显示带收音机的高端音箱,JBL TUNE2便携式插卡音箱实测
2021/04/24 无线电