python代码改写<大话数据结构>:栈的链式存储结构
2021/5/22 20:29:27
本文主要是介绍python代码改写<大话数据结构>:栈的链式存储结构,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
# 栈元素 class Node: def __init__(self, item): # 元素域 self.elem = item # 链接域 self.next = None class Stack: # 栈顶指针 def __init__(self): self.head = None # 链表的头部作为栈顶 # 添加一个元素,进栈操作就是在链表头部插入元素 def push(self, item): node = Node(item) node.next = self.head self.head = node # 弹出栈顶元素,即链表删除头部节点 def pop(self): cur = self.head self.head = cur.next return cur.elem # 返回栈顶元素,查看头部节点的值 def peek(self): return self.head if self.is_empty() else self.head.elem # 判断栈是否为空 def is_empty(self): return self.head == None # 返回栈的元素个数 def size(self): count = 1 if self.is_empty(): return 0 cur = self.head # 遍历到最后一个元素 while cur.next is not None: count += 1 cur = cur.next return count if __name__ == '__main__': s = Stack() print(s.is_empty()) s.push(10) s.push(20) s.push(30) print(s.size()) print(s.peek()) print(s.pop()) print(s.pop())
这篇关于python代码改写<大话数据结构>:栈的链式存储结构的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-01Python编程基础知识
- 2024-11-01Python编程基础
- 2024-10-31Python基础入门:理解变量与数据类型
- 2024-10-30Python股票自动化交易资料详解与实战指南
- 2024-10-30Python入行:新手必读的Python编程入门指南
- 2024-10-30Python入行:初学者必备的编程指南
- 2024-10-30Python编程入门指南
- 2024-10-30Python量化交易学习:新手入门指南
- 2024-10-30Python股票自动化交易实战入门教程
- 2024-10-29Python股票自动化交易教程:新手入门指南