判断出栈序列

判断出栈序列

一.栈的特点
先进后出,后进先出
二.出栈序列的特点
1.从栈顶开始依次取出若干元素(不大于栈中总元素个数)组成一个有序数列
2.出栈序列必是一个或多个上述有序数列的按序排列
三.判断是否为出栈序列
1.已知条件
a.原始序列(数组) start
b.已知的出栈序列(数组) end
2.准备条件
a.原始序列数组下标 s
b.已知出栈序列数组下标 e
c.入栈函数 push()
d.出栈函数 pop()
e.取栈顶元素函数 peek()
f.判栈空函数 isEmpty()
3.限制条件
该方法在顺序栈的定义类中实现,则可直接调用相关栈操作函数;
权限为公有,方便其他函数调用;
返回值设为boolean类型,若已知出栈序列为原始序列的出栈序列,则调用该方法后返回true,否则返回false。
4.方法设计思路
a.s,e初始值设为0,分别从两个数组首元素开始按序遍历
b.当s所指元素与e所指元素不同时,s所指元素入栈,s指向下一元素,直到s所指元素与e所指元素相同。
c.此时,s所指元素与e所指元素相同,s所指元素入栈,s指向下一元素,与此同时,栈顶元素出栈,e指向下一元素。
d.因为出栈序列特点,所以此时因判断此时的栈顶元素是否和e所指元素相同。
e.当栈顶元素和e所指元素相同时,栈顶元素出栈,e指向下一元素,直到栈顶元素与e所指

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值