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实现新浪博客备份的方法
Apr 27 Python
详解Python之数据序列化(json、pickle、shelve)
Mar 30 Python
Python多进程multiprocessing用法实例分析
Aug 18 Python
python九九乘法表的实例
Sep 26 Python
python实现京东秒杀功能
Jul 30 Python
解决每次打开pycharm直接进入项目的问题
Oct 28 Python
对python中词典的values值的修改或新增KEY详解
Jan 20 Python
python 默认参数相关知识详解
Sep 18 Python
Python 内置函数globals()和locals()对比详解
Dec 23 Python
python基于三阶贝塞尔曲线的数据平滑算法
Dec 27 Python
基于Python获取照片的GPS位置信息
Jan 20 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下常用正则表达式整理
2010/10/26 PHP
如何使用php输出时间格式
2013/08/31 PHP
php在apache环境下实现gzip配置方法
2015/04/02 PHP
prototype 1.5 & scriptaculous 1.6.1 学习笔记
2006/09/07 Javascript
Jquery Ajax学习实例 向页面发出请求,返回XML格式数据
2010/03/14 Javascript
JavaScript的parseInt 取整使用
2011/05/09 Javascript
基于jquery的web页面日期格式化插件
2011/11/15 Javascript
通过Javascript将数据导出到外部Excel文档的函数代码
2012/06/15 Javascript
js模拟滚动条(横向竖向)
2013/02/22 Javascript
javascript中声明函数的方法及调用函数的返回值
2014/07/22 Javascript
require.js的用法详解
2015/10/20 Javascript
DeviceOne 让你一见钟情的App快速开发平台
2016/02/17 Javascript
JS实现登录页面记住密码和enter键登录方法推荐
2016/05/10 Javascript
JS在onclientclick里如何控制onclick的执行
2016/05/30 Javascript
JavaScript动态添加事件之事件委托
2016/07/12 Javascript
Javascript 事件冒泡机制详细介绍
2016/10/10 Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
2017/02/21 Javascript
纯JS实现轮播图
2017/02/22 Javascript
详解Vue使用 vue-cli 搭建项目
2017/04/20 Javascript
Node.js安装配置图文教程
2017/05/10 Javascript
Javascript实现跨域后台设置拦截的方法详解
2017/08/04 Javascript
深入理解Vuex 模块化(module)
2017/09/26 Javascript
vue.js编译时给生成的文件增加版本号
2018/09/17 Javascript
微信小程序提取公用函数到util.js及使用方法示例
2019/01/10 Javascript
js中调用微信的扫描二维码功能的实现代码
2020/04/11 Javascript
JavaScript中跨域问题的深入理解
2021/03/04 Javascript
Python使用文件锁实现进程间同步功能【基于fcntl模块】
2017/10/16 Python
python 公共方法汇总解析
2019/09/16 Python
python随机生成库faker库api实例详解
2019/11/28 Python
python不使用for计算两组、多个矩形两两间的iou方式
2020/01/18 Python
使用tensorflow显示pb模型的所有网络结点方式
2020/01/23 Python
家长通知书家长评语
2014/04/17 职场文书
2015小学教师年度考核工作总结
2015/05/12 职场文书
2015年客房服务员工作总结
2015/05/15 职场文书
爱护环境建议书
2015/09/14 职场文书
2016幼儿教师自荐信范文
2016/01/28 职场文书