数据结构第三章:栈和队列

数据结构第四章:栈和队列

  • 栈顶指针指向下一个待分配空闲空间,栈底指针指向最后一个待释放已分配空间,当栈顶指针等于栈底指针时,栈为空。
  • 链栈:链表头同栈顶指针指向同一块
  • 栈的应用:
    • 数值转换会先得到低位再得到高位,而输出需要先输出高位,因此可以借助栈来先将过程中算得的低到高位的数字进栈,再出栈输出
    • 括号检验的匹配
    • 输入缓冲区为了配合退格键,可以设置为栈结构
    • 迷宫问题的路径可以设置为栈结构
    • 表达式求值可以设置两个栈,一个存运算符,一个存操作数;从左到右依次遍历表达式,若是操作数则进操作数栈,若是运算符,首先比较栈顶运算符与当前运算符优先级,若当前运算符优先,则当前运算符进运算符栈;若栈顶运算符优先,则退栈,将运算结果进操作数栈。同时,规定左括号优先级最高,右括号优先级最低,但若右括号进栈时栈顶为左括号,则消去两个括号。

队列

  • 由于基于数组的循环队列的队列空的条件与队列满的条件都是头指针与尾指针位置相同,为了加以区分,有两种方法,一个是留一个位置不占用,也就是数组永远保持至少一个空位置,就在队尾的下一位,因此判断队列满的条件变成了尾指针的下一位等于头指针;另一个方法是设置一个标志位以区分空还是满。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值