数据结构题 一个栈的入栈序列是1,2,3,4,5,则栈的不可能的输出序列是 A 54321 B

数据结构题 一个栈的入栈序列是1,2,3,4,5,则栈的不可能的输出序列是 A 54321 B45321 C 43512 D 12345 请问栈不是先进的后出吗?所以出栈不是只有一种情况就是54321嘛?怎么会有那么多种可能的出栈序列?

第1个回答  推荐于2019-10-17

于出栈这类题目,为了尽快选出答案,我们可以先看第一个出栈的元素是后进栈的选项,这些选项的特点是在在第一个进栈元素之前进栈的元素必须是逆序的。

A:PUSH POP PUSH PUSH PUSH PUSH POP POP POP POP

B:PUSH PUSH POP POSH POP POP PUSH POP PUSH POP

C:PUSH PUSH POP PUSH POP PUSH POP POP PUSH POP

D:5最先出栈说明入栈顺序是12345,出栈只能是54321.

本回答被网友采纳
第2个回答  2020-07-01
你可以先放1,然后把1拿出来,或者放1234,把4拿出来之后,再放56,那顺序就是465321了
第3个回答  2018-01-09

栈是先进后出,可以全进再依次出A,也可以进一个出一个D,也可以进一部分,出一个,再进一部分B。所以出栈并不是只有一种情况,而是有多种情况。 

栈是限定仅在表头进行插入和删除操作的线性表。要搞清楚这个概念,首先要明白”栈“原来的意思,如此才能把握本质。"栈“者,存储货物或供旅客住宿的地方,可引申为仓库、中转站,所以引入到计算机领域里,就是指数据暂时存储的地方,所以才有进栈、出栈的说法。

栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。

相似回答