试说明入栈指令PUSH OPRD和出栈指令POP OPRD的操作过程。OPRD是16位操作数。
第1题:
A.SP←SP+1
B.SP←SP-1
C.SP←SP+2
D.SP←SP-2
第2题:
下面是一个栈类的模板,其中push函数将元素i压入栈顶,pop函数弹出栈顶元素。栈初始为空,top值为0,栈顶元素在stack[top-1]中,在下面横线处填上适当的语句,完成栈类模板的定义。
template<class t>
class Tstack
{
enum{size=1000};
T stack[size]
int top;
public:
Tsack():top(0){}
void push(const T&i){
if(top<size)
stack[top++]=i;
}
T pop()
{
if(top==O)exit(1);//栈空时终止运行
retum【 】;
}
};
第3题:
●设将整数1、2、3、4依次进栈,只要出栈时栈非空,则可将出栈操作按任何次序夹入其中,请回答下述问题:
1.当入、出栈次序为Push (1) ,Pop (),Push (2) ,Push (3) ,Pop(),Push (4) ,Pop(),出栈的数字序列为何?(这里Push(i)表示i进栈,Pop()表示出栈) (26)
2.能否得到出栈序列1、4、2、3和1、4、3、2?答案为 (27) 。
3.请分析研究1、2、3、4的24种排列中, (28) 序列是可以通过相应的入、出栈操作得到的。
(26) A.1,3,4
B.1,4,2,3
C.1,4,3
D.3,4,1
(27) A.可以
B.不可以
C.不确定
D.随机获得
(28) A.1,3,2,4
B.4,2,3,1
C.2,4,1,3
D.3,1,4,2
第4题:
某堆栈初始为空,符号PUSH和POP分别表示1次进栈操作和1次出栈操作。对于进栈序列a,b,c,d,e,经过PUSH, PUSH, POP, PUSH, POP, PUSH, PUSH时,得到的出栈序列是什么?
第5题:
设将整数1、2、3、4依次进栈,只要出栈时栈非空,则可将出栈操作按任何次序夹人其中;请回答下述问题:
1.当人、出栈次序为Push(1),Pop(),Push(2),Push(3),Pop(),Push(4),Pop(),出栈的数字序列为何?(这里Push(i)表示i进栈,Pop()表示出栈)(26)
2.能否得到出栈序列1、4、2、3和1、4、3、2?答案为(27)。
3.请分析研究1、2、3、4的24种排列中,(28)序列是可以通过相应的入、出栈操作得到的。
A.1,3,4
B.1,4,2,3
C.1,4,3
D.3,4,1
第6题:
A.读栈指令
B.弹栈指令
C.压栈指令
D.出栈指令
第7题:
若pllsh、pop分别表示入栈、出栈操作,初始栈为空且元素1、2、3依次进栈,则经过操作序列push、push、pop、pop、push、pop之后,得到的出栈序列为 ______。
A.321
B.213
C.231
D.123
A.
B.
C.
D.
第8题:
若push、pop分别表示入栈、出栈操作,初始栈为空且元素1、2、3依次进栈,则经过操作序列push、push、pop、pop、push、pop之后,得到的出栈序列为(29)。
A.321
B.213
C.231
D.123
第9题:
●设push、pop分别表示入栈、出栈操作,若初始栈为空,对于元素序列a b c,
则操作序列push、pop、pop、push、push、pop (36)。
(36)
A.得到出栈序列为abc
B.得到出栈序列为bac
C.得到出栈序列为bca
D.是非法的操作序列
第10题:
设有一个空栈,栈顶指针为1000H,现有输入序列为12345,push,push,pop,push,pop,push,push后,输出序列为(),栈顶指针是()。