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 31 Python
python批量生成本地ip地址的方法
Mar 23 Python
详解python之简单主机批量管理工具
Jan 27 Python
详解Django之admin组件的使用和源码剖析
May 04 Python
快速解决pandas.read_csv()乱码的问题
Jun 15 Python
python 地图经纬度转换、纠偏的实例代码
Aug 06 Python
python判断一个数是否能被另一个整数整除的实例
Dec 12 Python
python调用接口的4种方式代码实例
Nov 19 Python
python 监测内存和cpu的使用率实例
Nov 28 Python
python 实现一个简单的线性回归案例
Dec 17 Python
如何利用Matlab制作一款真正的拼图小游戏
May 11 Python
python可视化分析绘制带趋势线的散点图和边缘直方图
Jun 25 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
Trying to clone an uncloneable object of class Imagic的解决方法
2012/01/11 PHP
PHP输入流php://input介绍
2012/09/18 PHP
PHP应用JSON技巧讲解
2013/02/03 PHP
对PHP语言认识上需要避免的10大误区
2014/06/12 PHP
分享php分页的功能模块
2015/06/16 PHP
使用PHP similar text计算两个字符串相似度
2015/11/06 PHP
基于KMP算法JavaScript的实现方法分析
2013/05/03 Javascript
animate动画示例(泪奔的小孩)及stop和delay的使用
2013/05/06 Javascript
jquery 检测元素是否存在的实例代码
2013/11/19 Javascript
js 采用delete实现继承示例代码
2014/05/20 Javascript
分享20个提升网站界面体验的jQuery插件
2014/12/15 Javascript
jquery实现键盘左右翻页特效
2015/04/30 Javascript
js中的DOM模拟购物车功能
2017/03/22 Javascript
jQuery中复合选择器简单用法示例
2018/03/31 jQuery
vue+axios新手实践实现登陆的示例代码
2018/06/06 Javascript
vue-cli 使用vue-bus来全局控制的实例讲解
2018/09/15 Javascript
javascript实现前端成语点击验证优化
2020/06/24 Javascript
[01:35]辉夜杯战队访谈宣传片—iG.V
2015/12/25 DOTA
Python合并两个字典的常用方法与效率比较
2015/06/17 Python
Python的Django应用程序解决AJAX跨域访问问题的方法
2016/05/31 Python
Python对列表去重的多种方法(四种方法)
2017/12/05 Python
pandas全表查询定位某个值所在行列的方法
2018/04/12 Python
python机器学习包mlxtend的安装和配置详解
2019/08/21 Python
Django 批量插入数据的实现方法
2020/01/12 Python
Python pyautogui模块实现鼠标键盘自动化方法详解
2020/02/17 Python
Pandas之read_csv()读取文件跳过报错行的解决
2020/04/21 Python
python读取yaml文件后修改写入本地实例
2020/04/27 Python
基于PyQT实现区分左键双击和单击
2020/05/19 Python
CSS3 实用技巧:实现黑白图像效果示例代码
2013/07/11 HTML / CSS
马来西亚网上美容店:Hermo.my
2017/11/25 全球购物
有原因的手表:Flex Watches
2019/03/23 全球购物
优秀毕业生求职推荐信范文
2013/11/21 职场文书
机电一体化求职信
2014/03/10 职场文书
安全标语口号
2014/06/09 职场文书
2014年司法所工作总结
2014/11/22 职场文书
python区块链持久化和命令行接口实现简版
2022/05/25 Python