数据结构-栈、队列-栈
面5笔5入栈序列是:a1, a3, a5, a2, a4, a6,出栈序列是:a5, a4, a2, a6, a3, a1,则栈的容量最小是多少()
A.2
B.3
C.4
D.5
正确答案是 C
这里考察栈的入栈出栈操作,我们现在分析一下具体的操作过程:
如果出栈队列第一个元素为a5,那么a1 a3 a5需要先入栈,然后执行出栈得到a5,即:
a1入栈、a3入栈、a5入栈,此时栈内元素需要3个,a5出栈得到a5;
然后a2入栈,a4入栈,此时栈内元素为a1 a3 a2 a4,共4个元素,然后a4出栈得到a4,a2出栈得到a2,;
a6入栈,此时栈内元素为a1 a3 a6,3个元素,然后a6出栈得到a6,a3出栈得到a3,a1出栈得到a1.
综上所述,栈内最小容量应该为4