数据结构--知识点总结--栈和队列

1 栈

1.1 栈的基本概念

  • 栈:受约束的线性表,只允许栈顶元素入栈和出栈。

1.2 栈的实现

  • 存储:顺序栈 链式栈
  • 操作:
    入栈:先判栈满,elements[++top] = x;
    出栈:先判栈空,x = elements[top—];
    判栈空:top=-1;
    判栈满:top = maxsize - 1;

  • 双栈共享一个栈空间

    • 两个栈共享一个数组空间V[maxSize]
    • 设立栈顶指针数组 t[2] 和栈底指针数组 b[2]
    • 初始 t[0] = b[0] = -1, t[1] = b[1] = maxSize
    • 栈满条件:t[0]+1 == t[1] //栈顶指针相遇
    • 栈空条件:t[0] = b[0]或t[1] = b[1] //退到栈底
    • t[i]和b[i]分别指示第 i个栈的栈顶与栈底

1.3 栈的应用

1.3.1 括号匹配
1.3.2 表达式求值
  • 算术表达式的3种形式:前缀式、中缀式、后缀式
  • 13
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值