本文实例讲述了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加密解密算法与技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。