更多"对于一个堆栈,若其入栈序列为1.2,3,…,n,不同的出入栈操作将产生"的相关试题:
[单项选择]
堆栈的访问方式是(),其中堆栈指针在数据入栈时()。
其中堆栈指针在数据入栈时()
A. 加一
B. 没有变化
C. 减一
D. 用户指定
[单项选择]
堆栈的访问方式是(),其中堆栈指针在数据入栈时()。
堆栈的访问方式是()
A. 先进后出
B. 先进先出
C. 指令定位
D. 用户可选
[单项选择]堆栈的访问方式是 (11) ,其中堆栈指针在数据入栈时 (12) 。
A. 先进后出
B. 先进先出
C. 指令定位
D. 用户可选
[单项选择]已知栈S初始为空,对于一个符号序列a1a2a3a4a5(入栈次序也是该次序),当月I表示入栈、O表示出栈,则通过栈S得到符号序列a2a4a5a3a1的操作序列为________。
A. IOIIOOIOOI
B. IIOIOIOIOO
C. IOOIIOIOIO
D. IIOIIOIOOO
[单项选择]对于字长为16位的计算机,若堆栈指针SP的初值为2000H,累加器AX=3000H,执行一次入栈指令PLJSH AX后,SP的值为 。
A. 1998
B. 1999
C. 2001
D. 2002
[单项选择]一个栈的入栈序列是a,b,c,d,e,则栈不可能的出栈序列是()
A. e d c b a
B. d e c b a
C. d c e a b
D. a b c d e
[单项选择]一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是( )。
A. edcba
B. decba
C. dceab
D. abcde
[单项选择]一个栈的入栈序列是1,2,3,4,5,则该栈不可能输出的序列是______。
A. 5,4,3,2,1
B. 4,5,3,2,1
C. 4,3,5,1,2
D. 1,2,3,4,5
[单项选择]一列数字入栈排序是7,8,C,P,38,39,全部入栈后再出栈,出栈后的顺序应该是()。
A. 7,8,C,P,38,39
B. 7,8,P,C,38,39
C. 39,38,P,C,8,7
D. 39,38,P,C,7,8
[填空题]下面是一个栈类的模板,其中push函数将元素i压入栈顶,pop 函数弹出栈顶元素。栈初始为空,top值为0,栈顶元素在stack[top-1)中,在下面横线处填上适当语句,完成栈类模板的定义。
template <class T>
class Tstack
{
enum{size=1000};
T stack[size];
int top;
public:
Tstack( ):top(0) { }
void push(const T&i) {
if (top<size)
stack[top++]=i;
}
T pop( ) {
if(top==0) exit(1); // 栈空时终止运行
return 【15】 ;
}
};
[填空题]下面是一个栈类的模板,其中push函数将元素i压入栈顶,pop函数弹出栈顶元素。栈初始为空,top值为0,栈顶元素在stack[top-1]中,在下面横线处填上适当语句,完成栈类模板的定义。
template <class T>
Class Tstack
enumsize=1000;
T stack[size];
int top;
public:
Tstack( ):top(0)
void push(const T &i)
if(top<size)
stack [top++]=i;
T pop( )
if(top==0) exit(1); //栈空时终止运行
return ______ ;
;