设将整数a、b、c、d依次进栈,而只要栈非空,就可以将出栈操作夹入其中。请问能否得到出栈序列adbc和dcba?为什么?
不能得到adbc
能得到dcba
1
adbc不行,因为c出栈应该在b之前
adbc不可以
前者不可以
adbc得不到,c一定在b之前出栈
dcba可以
本题考点是进栈和出栈的特点。&nb...
用户登录可进行刷题及查看答案
本题考点是进栈和出栈的特点。 栈是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。栈是一种后进先出的数据结构。 因此,本题答题要点如下: 能得到dcba:push,push,push,push,pop,,pop,,pop,pop 但不能得到adbc: 因为d出来的时候 b,c还在栈内,次序必然b在下c在上,因此紧跟d下一个出栈的必然是c而不是b。
登录后提交答案