若让元素1,2,3,4,5依次进栈,则出栈的可能性有哪些?

[复制链接]
查看11 | 回复5 | 2012-10-17 17:01:56 | 显示全部楼层 |阅读模式
#include #include #define ELEMENT_TYPE int/*
打印所有可能的出栈顺序
参数:
queue
已知的入栈顺序
queue_size
栈 queue 的大小
递归使用参数:
poped_queue
出栈顺序。poped_queue=j 表示元素 queue[j] 第 i 个出栈。可以初始为 NULL。
poped_queue_size
poped_queue 栈的大小。必须初始为 0 。
...
回复

使用道具 举报

千问 | 2012-10-17 17:01:56 | 显示全部楼层
不一定要一次性全部都进栈,也不一定一次性都出栈!可以push(1)pop(1)push(2) push(3) pop(3) push(4) pop(4) pop(2) push(5) pop(5)也可以有其他N多种 push 跟 pop 的顺序答案也就有N种了 。一楼的答案蛮准的 (全不全我就不知道了)至于有多少种答案也就是把5次 p...
回复

使用道具 举报

千问 | 2012-10-17 17:01:56 | 显示全部楼层
进栈从栈底起,出栈从栈顶起,没有其他可能。12345依次进栈,出栈则是54321的顺序,这是最基本的堆栈法则怎么可能有其他方式呢...
回复

使用道具 举报

千问 | 2012-10-17 17:01:56 | 显示全部楼层
“栈”的特点是LIFO(后进先出),所以正常操作的话,出栈情况只有一种,就是: 5,4,3,2,1。...
回复

使用道具 举报

千问 | 2012-10-17 17:01:56 | 显示全部楼层
如果依次进栈,相当于把东西放到口袋里,先放1,再放2,再放3,4,5,那么取出来的时候即出栈,就是先拿出5,再拿出4,再拿出3,2,1,...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行