首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和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
44
问题
阅读下列说明和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://kaotiyun.com/show/XnjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
国家大型博物馆存放有大量珍贵文物。为安全管理文物,可采用__________技术,一旦文物被移动,能自动记录。若是非法移动,则会自动报警。
以下关于计算机网络协议的叙述中,不正确的是(58)________________。
关系代数运算是以集合操作为基础的运算,其5种基本运算是并、差、(57)、投影和选择。
在Word中打开英文文档或者在文档中输入英文信息时,系统会自动对拼写和语法进行检查,如果出现红色波形下划线则表示存在(50)。
四位二进制数(从0000到1111)中,不含连续三位相同数字的数共有(4)个。
《信息技术汉字字型要求和检测方法》(GB/T11460一一2009)属于______。
许多书上都说,人一次只能记住或处理5~9(7±2)条信息。为了检验这个结论是否正确,宜采用()调查方法。经过多次调查统计研究发现,人一次平均只能记住或处理4条信息。经考证,原来7±2的说法只是一位专家在一个讲演稿中的估计,并不是真正的调研报告,但却
在Excel2007的A1单元格中输入函数“=LEFT(“CHINA”,1)”,按回车键后,则A1单元格中的值为()。
在计算机程序设计语言中,可以直接被计算机识别并执行的是______。
随机试题
易受超声影响的敏感人体器官组织是
社会资本简单再生产的基本实现条件是()
医院感染的传播途径一般不包括
脑动脉栓塞的栓子最可能来自
氟斑牙是由于氟影响哪一种细胞造成的
社会救济保障的对象是( )的公民。
《中华民国临时约法》具有重要的历史意义,但也带有很大的阶级局限性,主要表现在()。
在现实社会中,会计职业道德准则和会计法律制度的关系是()。
某公司在薪酬设计时将公司分为五个级别,其中经理层为A级,研发人员为B级,销售人员为C级,行政人员为D级,一般职工为E级。A级人员月薪8000元,B级人员为5000元,C级人员为3000元,D级人员为2000元,E级人员为1800元。在外部同行业比较方面,其
WhyisPaulaunhappy?
最新回复
(
0
)