A-A+

如果输入序列为1 2 3 4 5 6 试问能否通过栈结构得到以下两个序列:4 3 5 6 l

2022-08-12 15:45:43 问答库 阅读 196 次

问题详情

如果输入序列为1,2,3,4,5,6,试问能否通过栈结构得到以下两个序列:4,3,5,6,l,2和l,3,5,4,2,6;请说明为什么不能或如何才能得到。


请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:只能得到序列135426原因见解析。
此问题考查的知识点是栈的后进先出特点。输入序列为1,2,3,4,5,6,不能得出4,3,5,6,1,2,其理由是,输出序列最后两元素是1,2,前面4个元素(4,3,5,6)得到后,栈中元素剩1,2两个元素,且2在栈顶,不可能栈底元素1在栈顶元素2之前出栈。得到1,3,5,4,2,6的过程如下:1入栈并出栈,得到部:分输出序列;然后2和3入栈,3出栈,部分输出序列变为:1,3;接着4和5人栈,5,4和2依次出栈,部分输出序列变为l,3,5,4,2;最后6人栈并退栈,得最终结果为:l,3,5,4,2,6。

考点:序列,两个