python实现从尾到头打印单链表操作示例


Posted in Python onFebruary 22, 2020

本文实例讲述了python实现从尾到头打印单链表操作。分享给大家供大家参考,具体如下:

# coding=utf-8
class SingleNode:
 
  def __init__(self, item):
    self.item = item
    self.next = None
 
class SingleLinkedList:
  """
  is_empty() 链表是否为空
  print_end_to_head() 从尾到头打印单链表
  append(item) 链表尾部添加元素
  """
 
  def __init__(self):
    self._head = None
 
  def is_empty(self):
    return self._head is None
 
  def append(self, item):
    if self.is_empty():
      self._head = item
    else:
      cur = self._head
      while cur.next:
        cur = cur.next
      cur.next = item
 
  def print_end_to_head(self):
    """从尾到头打印单链表"""
    if self.is_empty():
      print(None)
      return
    tmp = []
    cur = self._head
    while cur:
      tmp.insert(0, cur)
      cur = cur.next
    for i in tmp:
      print(i.item)
 
if __name__ == '__main__':
  sl = SingleLinkedList()
  sl.append(SingleNode(1))
  sl.append(SingleNode(2))
  sl.append(SingleNode(3))
  sl.append(SingleNode(4))
  sl.print_end_to_head()

运行结果:

4
3
2
1

PS:对象obj的打印,可使用如下语句实现:

print '\n'.join(['%s:%s' % item for item in obj.__dict__.items()])

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python使用线程封装的一个简单定时器类实例
May 16 Python
利用python实现简单的循环购物车功能示例代码
Jul 05 Python
Python内置模块logging用法实例分析
Feb 12 Python
利用python库在局域网内传输文件的方法
Jun 04 Python
Python+Pandas 获取数据库并加入DataFrame的实例
Jul 25 Python
python3基于TCP实现CS架构文件传输
Jul 28 Python
Python+OpenCV+pyQt5录制双目摄像头视频的实例
Jun 28 Python
Python numpy线性代数用法实例解析
Nov 15 Python
使用python客户端访问impala的操作方式
Mar 28 Python
使用OpenCV获取图片连通域数量,并用不同颜色标记函
Jun 04 Python
最简单的matplotlib安装教程(小白)
Jul 28 Python
Python中的min及返回最小值索引的操作
May 10 Python
python实现滑雪游戏
Feb 22 #Python
Python实现栈的方法详解【基于数组和单链表两种方法】
Feb 22 #Python
Python栈的实现方法示例【列表、单链表】
Feb 22 #Python
python实现滑雪者小游戏
Feb 22 #Python
python实现拼图小游戏
Feb 22 #Python
Python双链表原理与实现方法详解
Feb 22 #Python
Python单链表原理与实现方法详解
Feb 22 #Python
You might like
《PHP边学边教》(02.Apache+PHP环境配置――上篇)
2006/12/13 PHP
Smarty+QUICKFORM小小演示
2007/02/25 PHP
php设计模式 Composite (组合模式)
2011/06/26 PHP
php天翼开放平台短信发送接口实现方法
2014/12/22 PHP
详解PHP素材图片上传、下载功能
2019/04/12 PHP
php7新特性的理解和比较总结
2019/04/14 PHP
JavaScript 事件查询综合
2009/07/13 Javascript
用js控制组织结构图可以任意拖拽到指定位置
2014/01/17 Javascript
JavaScript编程的10个实用小技巧
2014/04/18 Javascript
jquery+ajax+text文本框实现智能提示完整实例
2016/07/09 Javascript
javascript验证香港身份证的格式或真实性
2017/02/07 Javascript
H5手机端多文件上传预览插件
2017/04/21 Javascript
JavaScript运动框架 多物体任意值运动(三)
2017/05/17 Javascript
详解原生js实现offset方法
2017/06/15 Javascript
深入理解vue.js中的v-if和v-show
2017/06/22 Javascript
vue-rx的初步使用教程
2018/09/21 Javascript
VUE单页面切换动画代码(全网最好的切换效果)
2019/10/31 Javascript
js编写简易的计算器
2020/07/29 Javascript
vue数据更新UI不刷新显示的解决办法
2020/08/06 Javascript
nodeJs项目在阿里云的简单部署
2020/11/27 NodeJs
[01:48]帕吉至宝加入游戏,遗迹战场现“千劫神屠”
2018/04/07 DOTA
python处理文本文件并生成指定格式的文件
2014/07/31 Python
Python 对象中的数据类型
2017/05/13 Python
教你使用python画一朵花送女朋友
2018/03/29 Python
opencv实现图片模糊和锐化操作
2018/11/19 Python
python3.6使用urllib完成下载的实例
2018/12/19 Python
python的几种矩阵相乘的公式详解
2019/07/10 Python
django框架基于queryset和双下划线的跨表查询操作详解
2019/12/11 Python
解决paramiko执行命令超时的问题
2020/04/16 Python
揠苗助长教学反思
2014/02/04 职场文书
查摆问题自我剖析材料
2014/08/18 职场文书
2014年外联部工作总结
2014/11/17 职场文书
2014年教师思想工作总结
2014/12/03 职场文书
物业项目经理岗位职责
2015/04/01 职场文书
2015年高校保卫处工作总结
2015/07/23 职场文书
2016教师年度考核评语大全
2015/12/01 职场文书