第1题:
假定用上界为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
第2题:
设用一维数组A[1…n]来存储一个栈,令A[n]为栈底,用整型变量T指示当前栈顶位置,A[T]为栈顶元素。当从栈中弹出一个元素时,变量T的变化为
A.T:=T+1
B.T:=T-1
C.T不变
D.T:=n
第3题:
(1)假设一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有 【1】 个元素。
(1)19
第4题:
A、不变
B、top=n
C、top++
D、top--
第5题:
下列叙述中,正确的是( )。
A.入栈运算只需将新元素插到栈顶指针指向的位置
B.出栈运算只需将栈顶元素赋给一个指定变量
C.出栈运算与读栈顶元素是相同的操作
D.读栈顶元素不删除栈顶元素
第6题:
设栈的顺序存储空间为S(0:49),栈底指针bottom=49,栈顶指针top=30(指向栈顶元素)。则栈中的元素个数为()。
A.30
B.29
C.20
D.19
第7题:
● 若一个栈以向量V[1..n]存储,初始使栈指针top为n,则下面x入栈的正确操作是()。设top指针指向栈顶元素。() A. top=top+1;V[top]=x B. V[top]=x;top=top+1C. top=top-1;V[top]=x D. V[top]=x ;top=top-1
第8题:
( 15 )请将下列栈类 Stack 补充完整
class Stack{
private:
int pList[100]; // int 数组 , 用于存放栈的元素
int top; // 栈顶元素 ( 数组下标 )
public:
Stack():top(0){}
void Push(const int &item); // 新元素 item 压入栈
int Pop(void); // 将栈顶元素弹出栈
};
void Stack::Push(const int &item){
if(top == 99) // 如果栈满 , 程序终止
exit(1);
top++; // 栈顶指针增 1
___________;
}
int Stack::Pop(){
if(top<0) // 如果栈空 , 程序终止
exit(1);
return pList[top--];
}
第9题:
假设用一个长度为50的数组(数组元素的下标为0~49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有( )个元素。
第10题:
下面是一个栈类的模板,其中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【 】;
}
};