zoukankan      html  css  js  c++  java
  • 关于栈的输入顺序和输出顺序

    经常在笔试的时候会看见这样类似的笔试题,就是关于一个栈的输入顺序是a,b,c,d,e则下列序列中不可能是出栈顺序.很多人都知道栈是先进后出,但是还是做好这道题.

    以一道题目为例给大家讲讲这道题目应该怎么做:

    题目:一个栈的输入顺序是a,b,c,d,e则下列序列中不可能是出栈顺序是()

    A:e,d,a,c,b

    B:a,e,d,c,b

    C:b,c,d,a,e

    D:b,c,a,d,e

    解答这题选择:A

    先从B开始解释,B中,由于输入顺序是a,b,c,d,e所以,B中可以栈先输入a然后a出,然后输入b,c,d,e那么上述出栈顺序就是e,d,c,b;

    C中栈先输如a,b,c则此时c出,b出.这时候d输入,那么a先进所以a后处,此时d出然后a出,最后e进e出.

    D中栈先输入a,b则输出可以是b先出,c近c出,然后是a出,d近d出,最后才是e出.

    A中应该是a,b,c,d,e一起输入,此时e出,d出,a不可能比c先出所以这个错了.正确的出栈顺序应该是e,d,c,b,a.

    当然出栈顺序也可以是a,b,c,d,e这时候是进去一个出栈一个.a进a出,b进b出,c进c出,d进d出,e进e出,所以最后顺序就是a,b,c,d,e.

  • 相关阅读:
    26.angularJS $routeProvider
    25.内置API
    24.路由
    iOS开发网络篇—数据安全
    从idea到ipo
    CentOS下php安装mcrypt扩展
    iOS客户端学习之AES加密
    PHP 标准AES加密算法类
    使用php扩展mcrypt实现AES加密
    base64的作用
  • 原文地址:https://www.cnblogs.com/my-blogs-for-everone/p/6183223.html
Copyright © 2011-2022 走看看