设sp()为一个顺序存储的栈,变量top只是栈顶元素的位置,能做入栈操作的条件是()。如要把栈顶元素弹出并送到x中,则需

题目
填空题
设sp()为一个顺序存储的栈,变量top只是栈顶元素的位置,能做入栈操作的条件是()。如要把栈顶元素弹出并送到x中,则需执行下列语句()。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第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


正确答案:A
解析:本题考查栈的基本操作。因为试题规定,top总是指向栈顶元素,所以,如果要进行入栈操作,栈顶指针top加1,指向一个空的存储空间,然后把x元素写入即可。出栈时,过程相反。

第2题:

设用一维数组A[1…n]来存储一个栈,令A[n]为栈底,用整型变量T指示当前栈顶位置,A[T]为栈顶元素。当从栈中弹出一个元素时,变量T的变化为

A.T:=T+1

B.T:=T-1

C.T不变

D.T:=n


正确答案:A

第3题:

(1)假设一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有 【1】 个元素。


正确答案:

119

第4题:

在一个可存放n个数据元素的顺序栈中,假设以高地址端为栈底,以top为栈顶指针,当向栈中压入一个数据元素时,top的变化是()。

A、不变

B、top=n

C、top++

D、top--


正确答案:D

第5题:

下列叙述中,正确的是( )。

A.入栈运算只需将新元素插到栈顶指针指向的位置

B.出栈运算只需将栈顶元素赋给一个指定变量

C.出栈运算与读栈顶元素是相同的操作

D.读栈顶元素不删除栈顶元素


正确答案:D
解析:入栈运算需先将栈顶指针加1,然后将新元素插到栈顶指针指向的位置,选项A是错误的。出栈运算需将栈顶元素赋给一个指定变量,然后将栈顶指针减1,选项B是错误的。出栈运算与读栈顶元素不同之处在于读栈顶元素不删除栈顶元素。答案是选项D。

第6题:

设栈的顺序存储空间为S(0:49),栈底指针bottom=49,栈顶指针top=30(指向栈顶元素)。则栈中的元素个数为()。

A.30

B.29

C.20

D.19


正确答案:C

第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


正确答案:C
本题考查入栈操作。需要注意的是,栈顶指针top的下标是从n开始的,即栈是向小下标方向移动的。所以top移动的时候需减1;又因为top指针指向栈顶元素,所以要先更新top指针,再将x入栈。

第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(数组下标),则栈中具有( )个元素。


正确答案:20
20

第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【 】;

}

};


正确答案:stack[--top]
stack[--top] 解析:++/--运算符;注意栈顶元素在stack[top-1]中。

更多相关问题