1.一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是( ).A.2 3 4 1 5 B.5 4 1 3

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 20:35:50
1.一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是( ).A.2 3 4 1 5 B.5 4 1 3
xœN@_eKUU|"DzpNT=B%0HTIK*Z%XYoRd73^ Y9I-bo7cz5HA)TLM5{6ع;\Dv\I qRVˢtxM{ A=ֹbspȺ&kyJ[ 鶵•6\Dwre%sztAlN/''^Rs zEcu.DW *`~_C%6y ,^R876v , Vł?Qu@Do'5!qH,8\b:-dN݉~;fg3k];W 3f?ԍյэ2*bBfqyFӍB侟u.u$.Țԉ~8.R"+}c-Qizb7d<{:y?LLD>#/RY7?>

1.一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是( ).A.2 3 4 1 5 B.5 4 1 3
1.一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是( ).A.2 3 4 1 5 B.5 4 1 3

1.一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是( ).A.2 3 4 1 5 B.5 4 1 3
可以根据答案来判定的,像A的话,顺序是2 3 4 1 5 那么当2进来的时候应该马上出去,如果不这样做的话,2肯定不是第一个出去的,依此类推
进1进2出2进3出3进4出4出1进5出5,这样,第一个答案应该是可行的
然后看第二个
进1进2进3进4进5出5出4出1出3出2这里已经不行了
这题我以前写过程序的
#include
int stack[1000000],top=0;
int main()
{
int i,j,n,trian;
//输入格式
//5
//2 3 4 1 5
//5 4 1 3 2
while(scanf("%d",&n)!=EOF&&n)
{
while(scanf("%d",&trian)!=EOF&&trian)
{
top=0;
for(j=1;j