设有栈S和队列Q初始状态为空,数据元素序列a,b,c,d,e,f依次通过栈S,且多个元素从S出栈后立即进入队列Q,若出队的序列是:b,d,f,e,c,a,则S中的元素最多时,栈底到栈顶的元素依次为()

答案:选项C、a,c,e,f

请先 登录 后评论

1 个回答

亚里士德
擅长:互联网

知识点:数据结构

依据:依据不同的元素之间进栈时间和出栈时间之差、进队列和出队列时间之差、栈先进后出、队列先进先出等知识。

---

根据出队列顺序,可以确定流程如下:(最最重要的依据是,出队序列中,先出的一定先进!默认进了队列就直接出。)

a进栈(此时栈中顺序为a,此位置括号意义下同),不出栈,不进队列,不出队列;

b进栈(a,b),b出栈(因为后进先出),b进队列,b出队列;

c进栈(a,c),不出栈,不进队列,不出队列;

d进栈(a,c,d),d出栈,d进队列,d出队列;

e进栈(a,c,e),不出栈,不进队列,不出队列;

f进栈(a,c,e,f),f出栈,f进队列,f出队列;

无进栈(a,c,e),e出栈,e进队列,e出队列;

无进栈(a,c),c出栈,c进队列,c出队列;

无进栈(a),a出栈,a进队列,a出队列;

无进栈(空栈),不出栈,不进队列(空队列),不出队列。


可以看到f进栈的时候,元素最多,选择选项C。

请先 登录 后评论