数据结构--栈

  • 一、栈是什么?
  • 二、实现步骤
  • 总结


提示:以下是本篇文章正文内容,下面案例可供参考

一、栈是什么?

栈(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 方法检查列表是否为空,返回一个布尔值。

声明:
本文为本人的学习笔记,旨在记录和分享个人在学习过程中的心得体会和原创代码。由于本人刚入门,对相关知识的理解可能还存在不足之处,文章中难免会有错误或不准确的地方。在此,我诚挚地欢迎各位读者在阅读过程中,如果发现任何问题或有其他建议,随时在评论区或通过其他方式与我交流。我将虚心听取大家的意见,及时修正和改进文章内容,以便更好地学习和成长。感谢大家的关注和支持!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值