栈
- 一、栈是什么?
- 二、实现步骤
- 总结
提示:以下是本篇文章正文内容,下面案例可供参考
一、栈是什么?
栈(Stack)是一种后进先出(LIFO, Last In First Out)的数据结构,类似一个垂直堆叠的盘子,只能从顶部添加或移除盘子。栈主要操作包括:
push(入栈):将一个元素添加到栈顶。
pop(出栈):移除栈顶的元素,并返回该元素。
get_top(获取栈顶元素):查看栈顶的元素,但不移除它。
is_empty(判断栈是否为空):检查栈是否为空。
二、实现步骤
栈的实现比较简单,仅仅借助append添加即可
tips
:pop方法的参数是索引而不是元素,在不填写参数时默认弹出最后一个元素,这与栈的特性恰恰相同。如果需要实现获取栈顶元素,可以pop(0)。
class Stack():
def __init__(self):
self.stack=[]
def push(self,element):#写入栈
self.stack.append(element)
def pop(self):#弹出栈
return self.stack.pop()
def get_top(self):#得到栈顶元素
if not self.is_empty():
return self.stack[-1]
else:
return None
def is_empty(self):#判断是不是空
return len(self.stack)==0
if __name__=='__main__':
stack=Stack()
stack.push(1)
stack.push(2)
stack.push(3)
stack.push(9)
print(stack.pop())
总结
- init 方法初始化一个空列表 self.stack 作为栈的存储结构。
- push 方法将一个元素添加到列表的末尾,即栈顶。
- pop 方法移除列表的最后一个元素,并返回该元素,即从栈顶移除元素。
- get_top 方法返回列表的最后一个元素,如果栈为空则返回 None。
- is_empty 方法检查列表是否为空,返回一个布尔值。
声明:
本文为本人的学习笔记,旨在记录和分享个人在学习过程中的心得体会和原创代码。由于本人刚入门,对相关知识的理解可能还存在不足之处,文章中难免会有错误或不准确的地方。在此,我诚挚地欢迎各位读者在阅读过程中,如果发现任何问题或有其他建议,随时在评论区或通过其他方式与我交流。我将虚心听取大家的意见,及时修正和改进文章内容,以便更好地学习和成长。感谢大家的关注和支持!