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连接mysql调用存储过程示例
Mar 05 Python
python基础教程之基本数据类型和变量声明介绍
Aug 29 Python
python遍历文件夹找出文件夹后缀为py的文件方法
Oct 21 Python
值得收藏,Python 开发中的高级技巧
Nov 23 Python
基于python实现高速视频传输程序
May 05 Python
详解pytorch 0.4.0迁移指南
Jun 16 Python
Python判断字符串是否xx开始或结尾的示例
Aug 08 Python
Python 读取 YUV(NV12) 视频文件实例
Dec 09 Python
Python如何批量获取文件夹的大小并保存
Mar 31 Python
Python 多线程共享变量的实现示例
Apr 17 Python
python中线程和进程有何区别
Jun 17 Python
Python抓包并解析json爬虫的完整实例代码
Nov 03 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
《APMServ 5.1.2》使用图解
2006/10/23 PHP
php下清空字符串中的HTML标签的代码
2010/09/06 PHP
解析php session_set_save_handler 函数的用法(mysql)
2013/06/29 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
Laravel配置全局公共函数的方法步骤
2019/05/09 PHP
在Laravel 中实现是否关注的示例
2019/10/22 PHP
Firefox下提示illegal character并出现乱码的原因
2010/03/25 Javascript
js 浏览器事件介绍
2012/03/30 Javascript
jquery DIV撑大让滚动条滚到最底部代码
2013/06/06 Javascript
将json当数据库一样操作的javascript lib
2013/10/28 Javascript
js 去掉空格实例 Trim() LTrim() RTrim()
2014/01/07 Javascript
jQuery实现级联菜单效果(仿淘宝首页菜单动画)
2014/04/10 Javascript
jQuery中focus事件用法实例
2014/12/26 Javascript
js获取form的方法
2015/05/06 Javascript
ES7中利用Await减少回调嵌套的方法详解
2017/11/01 Javascript
用node开发并发布一个cli工具的方法步骤
2019/01/03 Javascript
js中的reduce()函数讲解
2019/01/18 Javascript
10个最受欢迎的 JavaScript框架(推荐)
2019/04/24 Javascript
Vue form表单动态添加组件实战案例
2019/09/02 Javascript
vue实现前端分页完整代码
2020/06/17 Javascript
[03:34]2014DOTA2西雅图国际邀请赛 淘汰赛7月15日TOPPLAY
2014/07/15 DOTA
[28:05]完美世界DOTA2联赛循环赛Inki vs DeMonsTer 第一场 10月30日
2020/10/31 DOTA
Python使用random和tertools模块解一些经典概率问题
2015/01/28 Python
Python max内置函数详细介绍
2016/11/17 Python
通过cmd进入python的实例操作
2019/06/26 Python
Series和DataFrame使用简单入门
2019/11/13 Python
python 正则表达式参数替换实例详解
2020/01/17 Python
Django框架models使用group by详解
2020/03/11 Python
Python实现敏感词过滤的4种方法
2020/09/12 Python
英语自荐信范文
2013/12/11 职场文书
2015年卫生监督工作总结
2015/05/21 职场文书
《比尾巴》教学反思
2016/02/24 职场文书
2019通用版新员工入职培训方案!
2019/07/11 职场文书
写作技巧:怎样写好一份优秀工作总结?
2019/08/14 职场文书
SpringBoot读取Resource下文件的4种方法
2021/07/02 Java/Android
Python实现灰色关联分析与结果可视化的详细代码
2022/03/25 Python