首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请将下列栈类Stack补充完整 class Stack{ private: int pList[100]; //int数组,用于存放栈的元素 int top;
请将下列栈类Stack补充完整 class Stack{ private: int pList[100]; //int数组,用于存放栈的元素 int top;
admin
2009-06-20
29
问题
请将下列栈类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://jikaoti.com/ti/4TW0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<stdio.h>main(){intk=-17;printf("%d,%0,%x\n",k,1-k,1-k);}程序的运行结果是()。
下列选项中属于面向对象设计方法主要特征的是()。
下列叙述中正确的是()。
下面对软件工程描述正确的是
软件详细设计生产的图如图:该图是()。
一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为
设有课程关系模式:R(C#,Cn,T,TA)(其中C#为课程号,Cn为课程名,T为教师名,Ta为教师地址),并且假定不同课程号可以有相同的课程名,每门课程只有一位任课教师,但每位教师可以有多门课程。关系R范式最高达到
下面对对象概念描述正确的是
若有以下函数首部intfun(doublex[10],int*n)则下面针对此函数的函数声明语句中正确的是
随机试题
Forweeks,theIndianArmyhasbeenembroiledinanachinglypublicdisputenotaboutnationalsecuritybutaboutthebirthdate
他们胸有成竹地赴国外参加竞赛,最后摘取了桂冠。(intheend)
男,45岁。肛周不适半年。直肠指检触及条索状物,挤压时条索状物的肛旁端有脓性分泌物溢出。该患者最可能的诊断是
图框应该用()线绘制。
形成于小支气管或肺泡内的湿啰音是
女性,32岁,月经稀发3年,3~5天/2~6个月,现停经5个月。既往月经规律,15岁初潮,3~7/28~32天,已婚5年,未避孕,G1P0,4年前人工流产1次,无痛经。可采用的治疗药物有
工程施工质量管理的全过程是反复按照:PDCA的循环周而复始地运转,每运转一次,工程质量就提高一步。其PDCA循环具有()、形成完整的循环和不断推进等特点。
收容教育的对象是()。
中国共产党的根本路线是群众路线。()
_______不分青红皂白,_______是和亲_______一律加以反对,_______在封建时代还有什么更好的方法可以取得民族之间的和解呢?依次填入画横线部分最恰当的一组是()。
最新回复
(
0
)