笔试题:1堆数据进行进出栈操作,入栈顺序为{a, b, c, d, e, f, g},可能的出栈顺序为
A 、 {f,e,g,d,b,a,c};
B 、 {c,d,e,f,a,g,b};
C 、 {e,f,d,g,b,c,a};
D 、 {d,e,c,f,b,g,a};
解析:本题栈中是先进后出栈、本题使用排除法每个选项逐步排除,找出正确答案:D
本题只写如何判断D正确其他选项可按照此方法排除, {}数据左边为栈最底层
变化后数据 | 取出数据 | 放入数据 |
---|---|---|
{} | 放入a,b,c,d | |
{a, b, c, d} | 取出d | - |
{a, b, c} | - | 加入e |
{a, b, c, e} | 取出e | |
{a, b, c} | 取出c | |
{a, b} | 加入f | |
{a, b, f} | 取出f | |
{a, b} | 取出b | |
{a} | 加入g | |
{a, g} | 取出g | |
{a} | 取出a |
加入顺序:{a, b, c, d, e, f, g}符合提议
取出顺序: {d,e,c,f,b,g,a}符合D选项