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写xml文件的操作实例
Oct 05 Python
Python下Fabric的简单部署方法
Jul 14 Python
python 读取txt,json和hdf5文件的实例
Jun 05 Python
python pandas消除空值和空格以及 Nan数据替换方法
Oct 30 Python
Python中修改字符串的四种方法
Nov 02 Python
基于OpenCV python3实现证件照换背景的方法
Mar 22 Python
2019 Python最新面试题及答案16道题
Apr 11 Python
python求最大值最小值方法总结
Jun 25 Python
对python中的*args与**kwgs的含义与作用详解
Aug 28 Python
Pycharm 2020年最新激活码(亲测有效)
Sep 18 Python
tensorflow实现在函数中用tf.Print输出中间值
Jan 21 Python
python实现梯度下降算法的实例详解
Aug 17 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+mysql)
2007/11/23 PHP
PHP解决URL中文GBK乱码问题的两种方法
2014/06/03 PHP
Linux下安装PHP MSSQL扩展教程
2014/10/24 PHP
PHP的Laravel框架中使用消息队列queue及异步队列的方法
2016/03/21 PHP
PHP读取mssql json数据中文乱码的解决办法
2016/04/11 PHP
Yii多表联合查询操作详解
2016/06/02 PHP
原生js做的手风琴效果的导航菜单
2013/11/08 Javascript
基于javascript滚动图片具体实现
2013/11/18 Javascript
javascript向后台传送相同属性的参数即数组参数
2014/02/17 Javascript
jQuery实现瀑布流布局详解(PC和移动端)
2020/09/01 Javascript
基于jQuery实现的美观星级评论打分组件代码
2015/10/30 Javascript
Angularjs中UI Router全攻略
2016/01/29 Javascript
Angularjs CURD 详解及实例代码
2016/09/14 Javascript
NodeJS仿WebApi路由示例
2017/02/28 NodeJs
ES6学习笔记之正则表达式和字符串正则方法分析
2017/04/25 Javascript
详解vue的diff算法原理
2018/05/20 Javascript
vue服务端渲染添加缓存的方法
2018/09/18 Javascript
微信小程序上传图片到php服务器的方法
2019/05/23 Javascript
使用JS判断页面是首次被加载还是刷新
2019/05/26 Javascript
微信小程序里引入SVG矢量图标的方法
2019/09/20 Javascript
Ant Design Vue 添加区分中英文的长度校验功能
2020/01/21 Javascript
Python内置的字符串处理函数详细整理(覆盖日常所用)
2014/08/19 Python
Python队列的定义与使用方法示例
2017/06/24 Python
django实现支付宝支付实例讲解
2019/10/17 Python
Pandas实现DataFrame按行求百分数(比例数)
2019/12/27 Python
浅谈Pycharm最有必要改的几个默认设置项
2020/02/14 Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
2020/02/16 Python
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
2020/03/18 Python
阿姆斯特丹城市卡:Amsterdam Pass
2019/12/01 全球购物
如何获得EntityManager
2014/02/09 面试题
优秀教导主任事迹材料
2014/05/09 职场文书
生物科学专业自荐书
2014/06/20 职场文书
2014年客户经理工作总结
2014/11/20 职场文书
个人房屋租赁合同(标准范本)
2019/09/16 职场文书
SpringBoot系列之MongoDB Aggregations用法详解
2022/02/12 MongoDB
Java 多线程并发FutureTask
2022/06/28 Java/Android