首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请将下列栈类Stack补充完整 class Stack{ private: int pList[100]; //int数组,用于存放栈的元素 int top;
请将下列栈类Stack补充完整 class Stack{ private: int pList[100]; //int数组,用于存放栈的元素 int top;
admin
2009-06-20
56
问题
请将下列栈类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--];
}
选项
答案
pList[top]=item
解析
本题考查的知识点是:堆栈数据结构。堆栈是一种先进后出的队列,每次入栈(存入数据)在栈顶,出栈(取出数据)也在栈顶,所以一个堆栈一般由一个数组加上一个栈顶指针(可以是指向数组元素的指针,也可以是指示数组下标位置的 int型变量)构成,本题的pList[100]和top就是。根据栈顶指针所指位置的差异,有两种情况要注意:一是,栈顶指针指向下一次入栈的位置,即栈顶指针所指位置是一个空位置,下次入栈直接存入栈顶指针所指位置,然后栈顶指针再增1。出栈则需先将栈顶指针减1,然后取出栈顶指针所指数据。二是,栈顶指针指向下一次出栈的位置,即栈顶指针所指位置是最后一个有效数据,下次出栈直接取出栈顶指针所指数据,然后栈顶指针再减1。入栈则需先将栈顶指针增1,然后将数据存入栈顶指针所指位置。从Pop()函数中可以看出,是先取数然后top才会减1,故属于后种情况。所以Push()函数应该先增1然后存数。增1题目已经给出,所以应填pList[top]=item。
转载请注明原文地址:https://kaotiyun.com/show/qojp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
程序流程图中带有箭头的线段表示的是()。
有三个关系R、S和T如下:则由关系R和S得到关系T的操作是
设有定义:doublea[10],*s=a;以下能够代表数组元素a[3]的是()。
下列关于逻辑运算符两侧运算对象的叙述中正确的是()。
一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为( )
下列选项中不属于面向对象程序设计特征的是
若有定义语句:intx=10;则表达式x-=x+x的值为()。
在数据流图中,带有箭头的线段表示的是()。
下面关于算法的叙述中,正确的是()。
随机试题
“十个明确”和“十四个坚持”体现了习近平新时代中国特色社会主义思想()
先秦诸子散文中文学性最强的是()
三阶行列式的值是()
病原携带状态不见于
根据《物权法》的规定,下列关于建筑物区分所有权的表述中正确的是()。
如何进行促进迁移的教学?
有人认为,我国城市人口众多,城市房价高居不下,居民住房问题严重。特别是近年来,随着城市化进程的加快,大量的农村人口转化为城市人口,这给城市的居住问题形成了新的压力,因此,首要的问题是考虑如何更多地增加商品房的数量,以满足新增人口的住房需求,而不是调控房价。
作业从提交到后备状态的变化由(18)。作业从提交到运行状态的转换由(19)。
下面的语句中错误的是
Itwasnottheoriginalityoftheideathatmadethesesatirespopular.Itwasthemannerofexpression,thesatiricmethod,tha
最新回复
(
0
)