首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 本题给出四个函数,它们的功能分别是: 1.int push(PNODE*top,int e)是进栈函数,形参top是栈顶指针的指针,形参e是入栈元素。 2.int
阅读下列说明和C代码,将应填入(n)处的字句写在对应栏内。 【说明】 本题给出四个函数,它们的功能分别是: 1.int push(PNODE*top,int e)是进栈函数,形参top是栈顶指针的指针,形参e是入栈元素。 2.int
admin
2012-12-10
33
问题
阅读下列说明和C代码,将应填入(n)处的字句写在对应栏内。
【说明】
本题给出四个函数,它们的功能分别是:
1.int push(PNODE*top,int e)是进栈函数,形参top是栈顶指针的指针,形参e是入栈元素。
2.int pop(PNODE*top,int*e)是出栈函数,形参top是栈顶指针的指针,形参e作为返回出栈元素使用。
3.int enQueue(PNODE*tail,int e)是入队函数,形参tail是队尾指针的指针,形参e是入队元素。
4.int deQueue(PNODE*tail,int*e)是出队函数,形参tail是队尾指针的指针,形参e作为返回出队元素使用。
以上四个函数中,返回值为。表示操作成功,返回值为-1表示操作失败。
栈是用链表实现的;队是用带有辅助结点(头结点)的单向循环链表实现的。两种链表的结点类型均为:
typedef struct node {
int value;
struct node * next;
} NODE, * PNODE;
【函数1】
int push(PNOOE * top,int e)
{
PNODE p = (PNODE) malloc (sizeof (NODE));
if (! p) return-1;
p->value=e;
(1);
*top=p;
return 0;
}
【函数2】
int pop (PNODE * top,int * e)
{
PNODE p = * top;
if(p == NULL) return-1;
* e = p->value;
(2);
free(p);
return 0;
}
【函数3】
int enQueue (PNODE * tail,int e)
{ PNODE p,t;
t= *tail;
p = (PNODE) malloc(sizeof(NODE));
if(!p) return-1;
p->value=e;
p->next=t->next;
(3);
* tail = p;
return 0;
}
【函数4】
int deQueue(PNODE * tail,int * e)
{ PNODE p,q;
if(( * tail)->next == * tail) return-1;
p= (* tail)->next;
q = p ->next;
* e =q ->value;
(4)=q->next;
if(,tail==q) (5);
free(q);
return 0;
}
选项
答案
(1)p->next=*top (2)*top=p->next或* top=(*top)->next (3)t->next=p或(*tail)->next=p (4)p->next或(*tail)->next->next (5)*tail=p或*tail=(*tail)->next
解析
(1)插入结点p后,p应当指向插入前头结点,所以填入p ->next=*top。(2)出栈后,头指针应指向它的下一结点,所以填入 *top=p->next或*top=(*top)->next。(3)入队时,需要将结点插入队尾,所以应当填入(*tail)->next=p或t->next=p(t也指向尾结点)。(4)出队时,需要删除队头结点,通过(*tail)->next可以得到对队头结点的引用。(4)处是正常删除队头结点的情况,空格处应填入头结点指向下一结点的指针,即p->next或(*tail)->next->next。(5)处是需要考虑的特殊情况,即队列中最后一个元素出队后,要更新队尾指针,即填入*tail=p或*tail=(*tail)->next。
转载请注明原文地址:https://jikaoti.com/ti/KbW7FFFM
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
下列关于Windows操作系统文件名的说法,正确的是(32)。
数据的收集方式可有多种,分别适用于各种情况。以下数据收集方式,不恰当的是______。
要使Word能自动提醒英文单词的字母拼写是否正确,应设置Word的(47)选项功能。
假设在Access中已经建立了“学生”表,表中包括“学号”、“姓名”、“性别”和“班级”等字段,如果要统计出每个班级的人数,那么在查询设计视图的“班级”的“总计”行和“学号”的“总计”行中应分别选择(65)。
关系代数运算是以集合操作为基础的运算,其5种基本运算是并、差、(57)、投影和选择。
下列关于计算机病毒的说法中错误的是_______。
为了调查某学校3000名学生的身高,抽取了100名学生进行身高测量,以下叙述中正确的是(23)。
数据分析报告的质量要求中不包括()。
某大型企业下属每个事业部都自行建立了信息系统,各自存储数据,各自配备了技术人员维护系统。由于数据格式不同,难以交流,各系统难以连接,形成了一个个信息孤岛,业务难以协同。为此,公司采取了以下一些整合措施,其中(70)并不恰当。
防火墙包过滤规则的默认策略为拒绝,下表给出防火墙的包过滤规则配置界面。若要求内部所有主机能使用IE浏览器访问外部IP地址为202.117.118.23的Web服务器,为图中(1)~(4)空缺处选择正确答案。(1)A.允许B.拒绝(2)A.192
随机试题
下列哪项中毒不能用2%的苏打水洗胃()。
在个人/家庭资产负债表中,( )不能使净资产值上升。
企业各生产单位为管理生产而发生的工资应列入( )。
A注册会计师负责审计甲公司2011年度财务报表。A注册会计师出具了无保留意见审计报告。其后,甲公司因发现存在小额销售收入被漏记和贪污现象,控告A注册会计师有过失。A注册会计师提出无过失申辩,其下列申诉理由中合理的有()。
一个顽皮学生有一次在课堂上趁老师在黑板板书之际,悄悄向教师丢去两片碎纸屑,又做了个鬼脸,引起全班同学的哄笑,教师大发雷霆,不仅怒骂了该同学,还对全班同学大发脾气。(2015.浙江)对于这位教师的课堂行为,你是如何看待的?结合自己的切身体会,提出你对课堂管
(2017·吉林)食品药品监督管理局责令某厂商召回其已上市销售的不符合食品安全标准的香肠,这一行为属于行政处罚。()
在某马路一旁,每隔10米种植一棵树,则需要18颗树,如果每隔5米种植一棵树,则需要()颗树。
提高资本周转速度给资本所有者带来的好处有()(1999年多选文科卷)
LastSeptember,theU.S.governmentannouncedthatitsbirthratefellto"anotherrecordlow".Morallyspeaking,there’snothing
Televisionisthemosteffectivebrainwashingmediumeverinventedbyman.Advertisersknowthistobe【C1】______.Childrenarea
最新回复
(
0
)