首页 > 试题广场 >

设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e

[填空题]

设栈S和队列Q的初始状态为空,元素e1e2e3e4,e5e6依次通过栈S,一个元素出栈后即进队列Q,若6个元素出队的序列是e3e5e4,e6,e2,e1,则栈S的容量至少应该是 1

进栈顺序是 e1 e2 e3 e4, e5,  e6,
由于队列先进先出的特性,所以出栈顺序即为出队顺序: e3 e5 e4,e6,e2,e1,

1)第一个出栈的是 e3,所以栈中从栈底到栈顶依次有e1, e2, e3,    e3出栈后栈中有e1, e2
2)第二个出栈的是 e5,所以e4, e5分别进栈,栈中有e1, e2, e4, e5,  四个元素,e5出栈后有 e1, e2, e4
3)第三个出栈的是 e4,出栈后有 e1, e2
4)第四个出栈的是 e6 , 即e6进栈后再出栈
后面以此类推

所以栈的容量至少应该是4

发表于 2017-06-19 13:01:56 回复(0)
因为队列先进先出所以,出栈顺序是e3,e5,e4,e6,e2,e1,e3出栈需要提前入栈三个元素,e5入栈需要5个元素入栈,之前出栈了e3,所以需要4个元素
发表于 2017-06-05 11:40:37 回复(0)