史蒂芬闰土 2017-06-10 01:32 采纳率: 40%
浏览 1572
已采纳

诚求:理解栈的出入顺序。

看了很多帖子,还是很模糊啊。不谈代码,光谈思想。
字符A、B、C依次进入一个栈,按出栈的先后顺序组成不同的字符串。怎么理解那一个不能成立的字符窜组合,为什么它不成立,剩下5个是怎么成立的。

  • 写回答

5条回答 默认 最新

  • 战在春秋 2017-06-10 02:44
    关注

    一共有6种组合:
    1) ABC 即A进A出,B进B出,C进C出
    2) ACB 即A进A出,B进C进,C出B出
    3) BAC 即A进B进,B出A出,C进C出
    4) BCA 即A进B进,B出C进,C出A出
    5) CBA 即A进B进,C进C出,B出A出

    栈的性质是 后进先出, 以上5种组合是可以的。
    6) CAB
    这是不行的,因为C已经出栈,B在A的上面,这时,A在B前面出来是不可能的。

    想象成一个水杯,往水杯里放积木,因为水杯只有上面的开口,
    显然只有压在上面的积木出来后,下面的积木才能出来。

    用心回答每个问题,如果对您有帮助,请采纳答案好吗,谢谢!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题