问题-栈S最多能容纳4个元素,现有6个元素按A、B、C、D、E、F顺序进栈,问可能的出栈顺序。

住栈的特性:对于取出栈内元素每次只能从栈顶开始取(后进先出(栈满时,只能先出后进))
由于栈内只能容纳4个元素:
所以 E F不可能第一个出栈;
当栈内少于四个元素时 既可以选择进栈,也可以选择出栈
所以 A B C D中 第一个出栈的元素是随机的,主要要从第二个开始看;
当D第一个出栈时,说明栈内现在还剩 A B C,要么E进栈 要么C出栈;

如果E进栈 栈内满4个元素,栈顶元素E出栈 此时又开始判断,是站定元素出栈还是 栈外元素进栈呢, 一次类推。

主要考察逻辑思考和判断的能力。

最好在做的时候吧栈内和栈外的情况用笔画出来,简单明了。
F

E
 |----------------------|  D
  
    |-----------------------|
   |----------------------|  C
  
    |-----------------------|
  
 |----------------------|  B
  
    |-----------------------|
   |----------------------|  A
  
    |-----------------------|  |

 

posted @ 2016-03-17 17:33  243573295  阅读(1440)  评论(0编辑  收藏  举报