python栈(数据结构)

本文介绍了如何使用Python实现栈这一数据结构。栈遵循先进后出(LIFO)原则,仅允许在栈顶进行插入和删除操作。代码示例中展示了栈的初始化、压栈、弹栈、栈满和栈空的判断方法。示例中创建了一个大小为1的栈,并进行了入栈和出栈操作,展示了栈的操作过程。
摘要由CSDN通过智能技术生成

只有只能对栈顶元素进行修改遵循先进后出原则
使用python实现栈:
代码如下:

#栈的实现
class Stack(object):
    def __init__(self,size):    #size为栈的大小
        self.stack=[]           #装栈里面的内容
        self.size=size
        self.top=-1             #栈顶初始化

    def push(self,content):        #写如数据
        if self.Full():
            print("栈满")
        else:
            self.stack.append(content)  #将数据写入栈(stack)
            self.top=self.top+1

    def out(self):                  #删除数据
        if self.Empty():
            print('栈空')
        else:
            del self.stack[self.top]
            self.top=self.top-1

    def Full(self):                #判断栈是否满了
        if self.top==self.size:
            return True
        else:
            return False

    def Empty(self):               #判断是否栈空
        if self.top==-1:
            return True
        else:
            return False
if __name__=='__main__':
    q=Stack(1)      #定义栈的大小
    print("入栈")
    q.push("python")
    print(q.stack)
    q.push("python1")
    print(q.stack)
    q.push("python2")
    print(q.stack)
    print("******"*10)
    print("出栈")
    q.out()
    print(q.stack)
    print(q.size)
    q.out()
    print(q.stack)
    print(q.size)

运行结果如下
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值