假定利用数组a[m]顺序存储一个栈,用top表示栈顶指针,用top= =-1表示空,该数组所能存储的栈的最大长度为m,当()时,再做进栈运算会发生“上溢”。
第1题:
设栈的存储空间为S(1:m),初始状态为top=m+1。经过一系列入栈与退栈操作后,top=m。现又在栈中退出一个元素后,栈顶指针top值为()。
A.m+1
B.0
C.m-1
D.产生栈空错误
第2题:
A、top++
B、top—
C、top=0
D、top=N-1
第3题:
若栈采用顺序存储方式存储,现两栈共享空间V[1m],top[1]、top[2]分别代表第1和第2个栈的栈顶,栈1的底在V[1],栈2的底在V[m],则栈满的条件是()。
A.|top[2]-top[1]|=0
B.top[1]+1=top[2]
C.top[1]+top[2]=m
D.top[1]=top[2]
第4题:
栈的数组表示中,top为栈顶指针,栈空的条件是(31)。
A.top=0
B.top=maxSize
C.top=maxSize
D.top=-1
第5题:
A.top++;datatop=x;
B.datatop=x;top++;
C.top;datatop=x;
D.datatop=x;top―
第6题:
将编号为0和1的两个栈存放于一个数组空间V[m]中,栈底分别处于数组的两端。当第0号栈的栈顶指针top[0]等于-1时该栈为空,当第1号栈的栈顶指针top[1]等于m时该栈为空。两个栈均从两端向中间增长。试编写双栈初始化,判断栈空、栈满、进栈和出栈等算法的函数。双栈数据结构的定义如下:
Typedef struct
{int top[2],bot[2]; //栈顶和栈底指针
SElemType *V; //栈数组
int m; //栈最大可容纳元素个数
}DblStack
第7题:
A、top不变
B、top=0
C、top=top+1
D、top=top-1
第8题:
假定用上界为m的向量s(1:m)存储栈,设栈顶指针top总是指向栈顶元素,要将x入栈的操作步骤是(26)。
A.top=top+1;s[top]=x;
B.s[top]=x;top=top+1;
C.top=(top+1)%m;s[top]=x;
D.s[top]=x;top=(top+1)%m
第9题:
A.top++;data[top]=x;
B.data[top]=x;top++;
C.top--;data[top]=x;
D.data[top]=x;top―
第10题:
当利用大小为N的数组顺序存储一个栈时,假定用栈顶指针top=N+1表示栈空,则向这个栈插入一个元素时,首先应执行______语句修改top指针。
A.top:=top+1
B.top:=top-1
C.top:=0
D.top:=N