请教关于堆栈的一个问题

kingbigeast 2010-03-16 06:49:57
最近刚开始学数据结构,看到堆栈在变换顺序时,有些特殊的顺序是不能变换出来的。比如有三个元素A,B,C,要依次入栈,CBA这个顺序是不能出现的。
当有四个元素ABCD时,我挨个试了一下,有14种可以,10种不可以。
然后我想知道当有N个元素的时候,有多少种顺序可以实现,多少种不可以。
这好像更像是一个数学问题了···
...全文
193 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我空间里面有编关于讲堆栈的,讲得灰常容易理解!推荐楼观摩!
lovesi3344 2010-03-17
  • 打赏
  • 举报
回复
栈是后进先出表
你那本习题答案错了 或者你答案对错了

[Quote=引用 8 楼 gaslinux 的回复:]
比如有三个元素A,B,C,要依次入栈,CBA这个顺序是不能出现的

这句我是没看懂,为什么CBA这个顺序是不能出现?
[/Quote]
gaslinux 2010-03-17
  • 打赏
  • 举报
回复
比如有三个元素A,B,C,要依次入栈,CBA这个顺序是不能出现的

这句我是没看懂,为什么CBA这个顺序是不能出现?
kingbigeast 2010-03-17
  • 打赏
  • 举报
回复
[Quote=引用楼主 kingbigeast 的回复:]
最近刚开始学数据结构,看到堆栈在变换顺序时,有些特殊的顺序是不能变换出来的。比如有三个元素A,B,C,要依次入栈,CBA这个顺序是不能出现的。
当有四个元素ABCD时,我挨个试了一下,有14种可以,10种不可以。
然后我想知道当有N个元素的时候,有多少种顺序可以实现,多少种不可以。
这好像更像是一个数学问题了···
[/Quote]

出错啦,不好意思,第一段最后一句中应该是CAB。
可能我表述得不很清楚导致很多人没弄清楚···
xiaotutu6000 2010-03-16
  • 打赏
  • 举报
回复
不理解~~~!!!贴个代码出来看看可以不??是用链表模拟的吗???
  • 打赏
  • 举报
回复
题目我就会做,这个公式就没研究出来。

入栈:ABCD

出栈:ADBC
这种情况就是不可能的。

就是最后一个元素出栈后,后面的出栈顺序必须是正常顺序。
kingbigeast 2010-03-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 traceless 的回复:]
不是吧,这个ms是不能提取公式的。。。
[/Quote]

那有没有人知道这里有啥规律性的东西没啊?
traceless 2010-03-16
  • 打赏
  • 举报
回复
不是吧,这个ms是不能提取公式的。。。
cy330206 2010-03-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fox000002 的回复:]
变换顺序: 这个怎么解释
[/Quote]

只能意会,不能言传
fox000002 2010-03-16
  • 打赏
  • 举报
回复
变换顺序: 这个怎么解释

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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