时间:2021-05-22
本文实例讲述了python实现从尾到头打印单链表操作。分享给大家供大家参考,具体如下:
# coding=utf-8class 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加密解密算法与技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
这篇文章主要介绍了基于python实现从尾到头打印链表,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下题目描述
主要内容:单链表的基本操作删除重复数据找到倒数第k个元素实现链表的反转从尾到头输出链表找到中间节点检测链表是否有环在不知道头指针的情况下删除指定节点如何判断两个
题目输入一个链表,从尾到头打印链表每个节点的值。题解一种是使用栈。第二种是递归。代码//递归版本functionprintListFromTailToHead(
java数据结构单链表的实现单链表实现链表的打印及元素删除操作,链表的实现主要是next属性的定义,将一堆节点关联起来的。实现简单的链表如下:publiccla
单向链表在遍历时只能从头到尾或者从尾遍历到头;所以单向链表可以轻松到达下一节点,但是回到上一个节点是很困难的而双向链表既可以从头遍历到尾,又可以从尾遍历到头,链