首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请将下列栈类Stack补充完整 class Stack{ private: int pList[100]; //int数组,用于存放栈的元素 int top;
请将下列栈类Stack补充完整 class Stack{ private: int pList[100]; //int数组,用于存放栈的元素 int top;
admin
2009-06-20
74
问题
请将下列栈类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://www.kaotiyun.com/show/qojp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<stdio.h>#include<stdlib.h>intfun(intn){int*p;p=(int*)malloc(sizeof(int));
若有以下程序段:structstmain(){intn;{structst*p;int*m;p=s;};…inta=2,b=3,c=5;}structsts[3]=({101,&a},{102,&c},{103,
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写函数fun,其功能是:将S所指字符串中除了下标为奇数同时ASCII码值也为奇数的字符之外,其余的所有字符全部删除,串中剩余字符所
下列给定程序中,函数fun的功能是:在带头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点在链表中所处的顺序号;若不存在值为ch的结点,函数返回0值。请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。注意:部
若要使用C数学库中的sin函数,需要在源程序的头部加上#include关于引用数学库,以下叙述正确的是()。
对下列二叉树进行前序遍历的结果为()。
程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(inta[][N],intn),该函数的功能是:使数组左下半三角元素中的值乘以n。例如,若n的值为3,a数组中的值为:则返回主程序后a数组中的值应为:注意:部分源程序给出如下。
以下关于C语言数据类型使用的叙述中错误的是()。
程序流程图中带有箭头的线段表示的是()。
在数据流图中,带有箭头的线段表示的是()。
随机试题
以下语句,点击文字“和我联系”可以链接到abc@263.net的是
下列关于未成年人诉讼程序的说法正确的是:()
有一本《计量技术》教材,在化学计量这一章中,对呼出气体酒精含量探测器的检定,列出了燃料电池式探测器的技术指标:要求检定人员按此技术指标进行检定。检定人员指出了表中的表达错误之处。
一国经济可以分为三个产业,信用合作社属于()产业。
下列关于合同中结尾的说法不正确的是()。
20世纪50年代末以美国教育家布鲁纳为代表提出来的课程理论是()。
右边的四个平面图形中,只有一个是由左边的四个图形拼合而成的,请选出。
随着计算机网络的快速发展,手机使用的普遍化,汉字书写由原来的毛笔与硬笔日益转变为键盘和拇指。调查显示:37%的人经常提笔忘字,甚至很多不难的字都忘了怎么写;22%的人要写字时首先想依靠的是电脑,而不是笔;13%的人去外面听课或者开会,最怕的就是记笔记。网络
程序设计过程要为程序调试做好准备主要体现在以下几个方面()。
Takingyourdogonvacationmayhavebeen【B1】______adecadeago,buttodayit’sfree.【B2】______thepet-friendlyhotel,wh
最新回复
(
0
)