设栈的输入序列是1,2,3,4,则不可能是其出栈序列,为什么答案是4,3,1,2?

[复制链接]
查看11 | 回复5 | 2020-10-7 13:24:19 | 显示全部楼层 |阅读模式
假设第一个是4出栈,那么就说明前面,进栈顺序只能是 1,2,3,那么出栈顺序使能是 4,3,2,1。输出可以是1234,2134,1432,4321。第一种:1进1出,2进2出,3进3出,4进4出;第二种:1进,2进,2出,1出,3进3出,4进4出;第三种:1进1出,2进3进4进,4出3出2出。以此类推。扩展资料:1、进栈(PUSH)算法①若TOP≥n时,则给出溢出信息,作出错处理(进栈前首先检查栈是否已满,满则溢出;不满则作②);②置TOP=TOP+1(栈指针加1,指向进栈地址);③S(TO...
回复

使用道具 举报

千问 | 2020-10-7 13:24:19 | 显示全部楼层
所以(1)这个有点难,一定不是A D 答案在BC中,只要能找出7种以上的不可能,就可以确定是B1234全排列共24种4先出栈的 只有4321是合理的,其余都不可能,共有5种3先出栈的 排列中,不可能有3124 和3412 ,3142有3种1423也是不可能的2413也是不可能的SOB是对的(2)C.3412...
回复

使用道具 举报

千问 | 2020-10-7 13:24:19 | 显示全部楼层
输出可以是1234,2134,1432。第一种:1进1出,2进2出,3进3出,4进4出;第二种:1进,2进,2出,1出,3进3出,4进4出;第三种:1进1出,2进3进4进,4出3出2出。根据这种方法,4312当然是不可能的,不懂追问我...
回复

使用道具 举报

千问 | 2020-10-7 13:24:19 | 显示全部楼层
先进后出。4 3 1 2 是不可能的。因为,如果4 3 可以出栈的话,说明前面已经把 1 2 已经放到栈里面了。根据 先进后出的原则。 4 3 出栈没问题。 但是里面另外的 1 和 2 肯定是1 先入栈,所以应该是 2 先出 1 再出。...
回复

使用道具 举报

千问 | 2020-10-7 13:24:19 | 显示全部楼层
如果栈是1个空间,则输出序列为:1234;如果栈空间是2,则输出序列为:2143;如果栈空间是3,则输出序列是:3214;如果栈的空间大于等于4,则输出序列为:4321。关键是要知道栈是“先进后出”...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行