请教一个栈序列的基础题

zhang11wu4 2007-09-19 06:52:51
1. 一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是( )。

A. 不确定 B. n-i+1 C. i D. n-i

2. 若一个栈的输入序列为1,2,3,…,n,输出序列的第一个元素是i,则第j个输出元素是( )。

A. i-j-1 B. i-j C. j-i+1 D. 不确定的

3. 若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pN,若pN是n,则pi是( )。

A. i B. n-i C. n-i+1 D. 不确定

三个题如上,答案是1b,2d,3d,但是为什么第1题选B,不选A呀?这三个题1与3是一样,答案却不一样呀?有哪位给解释下!
...全文
228 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2007-09-21
  • 打赏
  • 举报
回复
栈的定义就是后进先出,只有 n=1 时才符合 3。
starffly 2007-09-21
  • 打赏
  • 举报
回复
1和3不一样,1是n第一个出,3是n最后一个出.
好比有一个那种彩票抽号用的圆桶,我们往里面按顺序放编号了的小球,
1->2->...->n
如果n最后一个出相当于在放n以前所有的球并没有被取出,那么就只能按倒序一个个出了,
如果n是最后一个出呢,那么情况就多了,我们可以放一个取一个,也可以放2个,取2个,总之很多,
这样顺序就不确定了,这个情况一共有球个数的指数种.
Tiger_Zhao 2007-09-19
  • 打赏
  • 举报
回复
题2、3没有对出栈个数进行限定,可能出现对空栈进行的出栈操作。

33,025

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧