数据结构与算法 2.栈 Stack
2021/10/30 9:10:12
本文主要是介绍数据结构与算法 2.栈 Stack,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
栈 Stack
栈是一种特殊的线性表,只能在一端进行操作 往栈中添加元素的操作,叫做入栈,push 往栈中移除元素的操作,叫做出栈,pop,只能移除栈顶元素,也叫弹出栈顶元素 FILO的结构 First In Last Out 栈的接口设计: isEmpty() 判断栈是否为空 size() 返回栈中元素数量 push() 入栈 pop() 出栈 peek() 获取栈顶元素 栈的应用: 浏览器的前进和后退:使用两个栈,一个用来存放当前访问及其之前的网址,一个用来存放当前访问之后的网址 软件的撤销(Undo)和恢复(Redo)
class Stack(object): def __init__(self): self.items = [] # 判断栈是否为空 def isEmpty(self): return self.items == [] # 获取栈的长度 def size(self): return len(self.items) # 入栈 def push(self,item): self.items.append(item) # 出栈 def pop(self): return self.items.pop() # 获取栈顶元素 def peek(self): return self.items[self.size() - 1] if __name__ == '__main__' : stack = Stack() stack.push(11) stack.push(22) stack.push(33) stack.push(44) res = stack.peek() print(res) while stack.isEmpty() == False : res = stack.pop() print(res) 44 44 33 22 11
这篇关于数据结构与算法 2.栈 Stack的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-10Rakuten 乐天积分系统从 Cassandra 到 TiDB 的选型与实战
- 2025-01-09CMS内容管理系统是什么?如何选择适合你的平台?
- 2025-01-08CCPM如何缩短项目周期并降低风险?
- 2025-01-08Omnivore 替代品 Readeck 安装与使用教程
- 2025-01-07Cursor 收费太贵?3分钟教你接入超低价 DeepSeek-V3,代码质量逼近 Claude 3.5
- 2025-01-06PingCAP 连续两年入选 Gartner 云数据库管理系统魔力象限“荣誉提及”
- 2025-01-05Easysearch 可搜索快照功能,看这篇就够了
- 2025-01-04BOT+EPC模式在基础设施项目中的应用与优势
- 2025-01-03用LangChain构建会检索和搜索的智能聊天机器人指南
- 2025-01-03图像文字理解,OCR、大模型还是多模态模型?PalliGema2在QLoRA技术上的微调与应用