爱问知识人 爱问教育 医院库

如何正确理解出栈顺序???

首页

如何正确理解出栈顺序???

如何正确理解出栈顺序???
例如:如栈顺序是:1234
则1、如栈的数据与这个顺序的关系是什么?
2、如果有这样一个出栈序列:4312
我的理解是34先入栈,4出后3出栈,1入栈,1出栈,2入栈,2出栈。
这个理解有问题吗?
这个序列是错的。原因在那里?
3、我具体怎么判断一个出栈序列的正确性。

提交回答
好评回答
  • 2008-10-18 17:22:01
      (1)入栈顺序是1 2 3 4,就是指这四个数依次入栈:
    数据4入栈之前,1 2 3肯定已经入栈了;
    数据3入栈之前,1 2肯定已经入栈了,而4还没入栈;
    数据2入栈之前,1肯定已经入栈了,而2 3 4还没入栈;
    数据1最先入栈,2 3 4还没入栈。
       (2)既然入栈顺序是1 2 3 4,3 4入栈的时候,1 2 肯定已经入栈了,怎么会在后面再入栈。 (3)先拿4 3 1 2这个出栈序列来说,4最先出来,说明此时1 2 3(底到顶顺序)还都在栈中;接下来只有3能出栈,3出来后,栈中为1 2(底到顶顺序);再接下来只有2能出栈,所以如果出栈序列前两个是4 3的话,后两个只能是2 1。
       再看个正确的出栈序列:2 4 3 1;2最先出来,说明它出来时,3 4还没入栈,而1已入栈且还在栈中;接着是4出来,说明此时3也在栈中(3要比4先入栈),此时栈中有1 3(底到顶顺序);然后只能3出栈,最后是1出栈。 总之,挨个看出栈序列的数据,根据入栈顺序,分析它出来时,栈中应该还有谁,而有谁还没入栈,然后分析此时可不可能是它出栈。
      

    陨***

    2008-10-18 17:22:01

类似问题

换一换
  • 考研 相关知识

  • 教育培训
  • 教育考试

相关推荐

正在加载...
最新资料 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):