栈----判断正确的出栈序列

栈----判断正确的出栈序列

1. 设元素进栈的次序是a,b,c,d,e…

设元素进栈的次序是a,b,c,d,e。试问,在下面所列的6种元素序列里,哪些可以是这个栈的出栈序列?
A.c,e,a,b,d B.c,b,a,d,e C.d,c,a,b,e
D.a,c,b,e,d E.a,b,c,d,e F.e,a,b,c,d

栈遵循先进后出原则,来先推一下

  • A选项,c打头,那么出的顺序是c,b,a,显然A选项错误
  • B选项,c打头,a-b-c进c-b-a出,d进d出,e进e出,正确
  • C选项,d打头,那就是出d-c-b-a,c错误
  • D选项,a进a出,b-c进c-b出,d-e进e-d出,正确
  • 最后两个自己练习
正确答案:
Qi9EL0U= (Base64加密)解码自行查看https://tool.oschina.net/encrypt?type=3

2. 设有6个元素a1、a2、a3、a4、a5、a6

设有6个元素a1、a2、a3、a4、a5、a6,它们以此顺序依次进栈。假定要求它们的出栈顺序是a4、a3、a2、a6、a5、a1,那么应该如何安排push和pop操作序列?


  • a1 push
  • a2-a3-a4 push
  • a4-a3-a2 pop
  • a5-a6 push
  • a6-a5 pop
  • a1 pop

3.若一个栈的进栈序列是1、2、3、4

若一个栈的进栈序列是1、2、3、4,那么要求出栈序列为3、2、1、4时,进、出栈操作的顺序应该是 ____ 。(注:所给顺序中,I表示进栈操作,O表示出栈操作)
A.IIIOOOIO B.IOIOIOIO C.IIOOIOIO D.IOIIIOOO


A
解答:依据先进后出原则,1-2-3进,出3-2-1,然后4进4出

4.栈与队列各自具有什么样的逻辑特点?它们之间又有什么共同点

  • 逻辑特点:队列先进先出,栈先进后出
  • 共同点:从"数据结构"的角度看,它们都是线性结构,即数据元素之间的关系相同

猜你喜欢

转载自blog.csdn.net/Fine_Cui/article/details/106009527