栈的顺序存储结构(Python版)

何为“栈”:

要搞清楚这个概念,首先要明白”栈“原来的意思,如此才能把握本质。"栈“者,存储货物或供旅客住宿的地方,可引申为仓库、中转站,所以引入到计算机领域里,就是指数据暂时存储的地方,所以才有进栈、出栈的说法。

栈的定义:

栈是一个后进先出的线性表,它要求只在表尾进行删除和插入操作。所谓栈是一种特殊的线性表(顺序表和链表),但是它在操作上有一些特殊的要求和限制;栈的元素必须后进先出;栈的操作只能在这个线性表的表尾进行;对于栈来说,这个表尾称为栈的栈顶;相应的表头称为栈底;栈的插入操作,称作进栈,也称为压栈;栈的出栈称为出栈,或者弹栈;

栈的顺序存储结构:

因为栈的本质是一个线性表,线性表有两种存储形式,那么栈有也有两种分为栈的顺序存储结构和栈的链式存储结构;
最开始,栈中不含有任何数据,叫做空栈,此时栈顶就是栈底;然后数据从栈底进入,栈顶栈底分离,栈的容量变大;数据出栈时从栈顶弹出,整个栈的容量变小。

首先,我们先来了解栈的顺序存储结构如何去实现

# 栈的顺序存储
# 栈的初始化
class SequenceStack:
    def __init__(self):
        self.MaxStrackSize = 10    # 最大存储单元个数
        self.s = [None for x in range(0,self.MaxStrackSize)]
        self.top &
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值