首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
以下程序实现栈的入栈和出栈的操作。其中有两个类:一个是节点类node,它包含点值和指向上一个节点的指针 prev;另一个类是栈类 stack, 它包含栈的头指针 top。 生成的链式栈如下图所示。 〈IMG onClick=over(this) title
以下程序实现栈的入栈和出栈的操作。其中有两个类:一个是节点类node,它包含点值和指向上一个节点的指针 prev;另一个类是栈类 stack, 它包含栈的头指针 top。 生成的链式栈如下图所示。 〈IMG onClick=over(this) title
admin
2010-03-29
120
问题
以下程序实现栈的入栈和出栈的操作。其中有两个类:一个是节点类node,它包含点值和指向上一个节点的指针 prev;另一个类是栈类 stack, 它包含栈的头指针 top。
生成的链式栈如下图所示。
〈IMG onClick=over(this) title=放大 src="tp/jsj/2jc++j28.1.gif"〉
下面是实现程序,请填空完成此程序。
#include 〈iostream〉
using namespace std;
class stack;
class node
{
int data;
node *prev;
public:
node(int d, node *n)
{
data=d;
prev=n;
}
friend class stack;
};
class stack
{
node *top; //栈头
public:
stack()
{
top=0;
}
void push(int i)
{
node *n=【 】;
top=n;
}
int pop()
{
node *t=top;
if (top)
{
top=top-〉prev;
int c= t-〉data;
delete t;
return c;
}
return 0;
}
int main ()
{
stack s;
s.push(6);
s.push(3);
s.push (1);
return 0;
}
选项
答案
new node(i,top)
解析
本题考核友元类以及对象成员的应用,属于综合考题。本程序中定义了两个类node和stack,用于实现堆栈的压入和弹出操作。其中,类 stack是类node的友元类,这样类stack中的成员可以访问类node中的所有成员。在类node中,定义两个私有变量:整型变量data和对象指针prev。变量data用于保存节点的数值,而对象指针prey用于指向上一节点。在类node的构造函数中,形参是数据d和对象指针n。在类stack中,定义了一个私有变量,栈顶指针top,并在构造函数中赋值0(即指针为空)。
函数push()实现入栈操作,即把形参i压入栈中,那么此时应该创建一个新的节点,并让这个节点的prev指针指向栈顶,即top。然后让top指针指向新的节点。所以在push()函数中应填入“node*n=new node(i,top)”。类stack中的pop()函数实现数据的弹出功能。先定义了一个对象指针t指向栈顶节点。然后判断堆栈是否为空,如果为空,则返回0,否则就弹出栈顶节点的值。那么应该先将栈顶指针后退一个节点,然后把对象t指针指向的节点值弹出,并删除节点t。
转载请注明原文地址:https://kaotiyun.com/show/ATjp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有下列程序:structS{intn;inta[20];};voidf(int*a,intn){inti;for(i=0;i
以下程序的输出结果是()。#include#defineSUB(A)(A)-(A)main(){inta=2,b=3,c=5,d;d=SUB(a+b)*c;printf(’’%d\n’’,d);}
在结构化程序设计中,模块划分的原则是
设有定义:doublex=2.12;,以下不能完整输出变量x值的语句是()。
下列描述中,不符合良好程序设计风格要求的是
若变量己正确定义,在if(W)printf("%d\n",k);中,以下不可替代W的是
若有定义语句:chars[10]=“1234567\0\0”;,则strlen(s)的值是()。
若变量已正确定义为int型,要通过语句scanf("%d,%d,%d"&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(注:口代表一个空格符)
设fp已定义,执行语句fp=fopen(“file”,“w”);后,以下针对文本文件file操作叙述的选项中正确的是
以下关于C语言函数参数传递方式的叙述中正确的是()。
随机试题
组织与公众形成关系的关键是____________。
课外校外教育的主要内容有哪些?
A.AUUB.GUAC.AUGD.UGA遗传密码中的终止密码子是
A.麻醉中枢神经,导致神经精神障碍B.使血氧饱和度下降,组织不能利用氧C.使血液携氧能力降低,阴止氧合血红蛋白释放D.引起卟啉代谢障碍,抑制血红素合成E.与氧化型细胞色素氧化酶中的三价铁结合,抑制酶的活性
中标人的投标应当符合的条件有()。
在混凝土拌和物搅拌中,拌和引气混凝土时,搅拌楼一次拌和量不应大于其额定搅拌量的()。
阅读下列材料,按要求作文。鹿特丹世乒赛结束后,师生们一起议论。生甲:太好了,中国队又包揽了全部冠军,这叫实至名归,竞技体育就得靠实力说话。生乙:但我更愿意看见外国选手成功挑战中国名将,一个国家长期垄断某项体育比赛的金牌,其实并
若二次型2+2x1x2+2tx2x3的秩为2,则t=____________.
差异备份、增量备份、完全备份三种备份策略的恢复速度由慢到快依次为()。
Ascientificdiscoveryisoftenmade【C1】______beforesomeoneisabletoputittouse.【C2】______,scientistsdiscoveredhow
最新回复
(
0
)