首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和C代码,应填入(n)处。 [说明] 假设设A和B均为顺序表,A’和B’分别为A和B中除去最大共同前缀后的子表(例如,A=(x,y,y,z,x,z),B=(x,y,y,z,y,x,x,z),则两者中最大的共同前缀为(x,y,y
阅读下列函数说明和C代码,应填入(n)处。 [说明] 假设设A和B均为顺序表,A’和B’分别为A和B中除去最大共同前缀后的子表(例如,A=(x,y,y,z,x,z),B=(x,y,y,z,y,x,x,z),则两者中最大的共同前缀为(x,y,y
admin
2009-02-15
65
问题
阅读下列函数说明和C代码,应填入(n)处。
[说明]
假设设A和B均为顺序表,A’和B’分别为A和B中除去最大共同前缀后的子表(例如,A=(x,y,y,z,x,z),B=(x,y,y,z,y,x,x,z),则两者中最大的共同前缀为(x,y,y,z),在两表中除去最大共同前缀后的子表分别为A’=(x,z)和B’=(y,x,x,z)。若A’=B’=空表,则A=B;若A’=空表,而 B’!=空表,或者两者均不为空表,且A’的首先小于B’的首元,则A<B;否则A>B。
下面程序实现了比较A、B大小的算法。
[C程序]
#include<stdio.h>
#include<stdlib.h>
typedef struct linknode
{
int data;
struct linknode *next;
}node:
node *creatlist ( ) /*建立单链表*/
{
node*head, *r, *s;
int x;
head= (node *) malloc (sizeof (node)); /建立单链表的头结点head*/
r=head;
printf ("输入系列整数,以O标志结束\n");
scanf ("%d", &x);
while (x!=O) /*x==O则退出while循环*/
{
s=(node*) malloc (sizeof (node));
s->data=x;
r->next=s;
s->next=NULL;
r=s;
scanf ("%d", &x);
}
r->next=NULL;
s=head;
(1);
Free (s);
return head;
}
void subs ( )
{
node*p, *p1, *p2, *q, *heada, *headb;
heada=creatlist ( ) ;
headb=creatlist ( ) ;
p=heada;
p1=p; /*p1指向p所指结点的前一个结点,开始时均缀向头结点*/
while (p!=NULL )
{
q=headb;
while (q!=NULL&&q->data!=p->data)
q=q->next;
if ((2)) {
if (p==heada)
{
(3);
p1=heada;
}
else if (p->next==NULL) p1->next=NULL; /*该结点为最后一结点,删除*/
else p1->next=p->next;
p2=p->next;
(4);
free (p);
(5);
}
else /*p所指结点的元素不在B中,则直接下移p*/
{
p1=p;
(6);
}
}
p=heada; /*显示删除后的结果*/
if (p==NULL)
printf ("两集合机减的结果为空\n");
else
printf ("两集合相减的结果\n");
while (p!=NULL)
{
printf ("%d", p->data);
p=p->next;
}
}
void main ( )
{
subs ( ) ;
}
选项
答案
(1)head=head->next (2)q!=NULL (3)heada=heada->next; (4)p->next=NULL (5)p=p2 (6)p=p->next
解析
本题实现了对顺序表进行比较操作的算法。根据功能要求,分析代码,可知(1)应该为删除头结点; (2)为判定p所指结点是否在B中,p所指结点的元素在B中则要删除;(3)该结点为头结点,要删除;(4)清除p所指结点;(5)p2作为临时变量,保存p所指结点的下一个结点;(6)指向下一节点。
转载请注明原文地址:https://kaotiyun.com/show/fuDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
在程序的执行过程中,Cache与主存的地址映像由______。
对于逻辑表达式((a&&b)lIc),需要()个测试用例才能完成条件组合覆盖。
()过程模型明确地考虑了开发中的风险。
已知函数f()、g()的定义如下所示,执行表达式“x=f(5)”的运算时,若函数调用g(a)是引用调用(callbyreference)方式,则执行“x:f(5)”后x的值为(7);若函数调用g(a)是值调用(callbyvalue)方式,
假设段页式存储管理系统中的地址结构如下图所示,则系统()。
____________开发过程模型以用户需求为动力,以对象作为驱动,适合于面向对象的开发方法。
某开发小组欲开发一个软件系统,实现城市中不同图书馆的资源共享,包括实体资源和电子资源,共享规则可能在开发过程中有变化。客户希望开发小组能尽快提交可运行的软件,且可以接受多次交付。这种情况下最适宜采用(31)开发过程模型。主要是因为这种模型(32)。(
对象是面向对象系统的最基本的元素,一个运行期系统就是对象之间的协作。一个对象通过()改变另一个对象的状态。
在分层体系结构中,(41)实现与实体对象相关的业务逻辑。在基于Java,EE技术开发的软件系统中,常用(42)技术来实现该层。(42)
阅读以下说明,回答问题1至问题4,将解答填人答题纸的对应栏内。[说明]某小公司的网络拓扑如图9-2所示。其中路由器具有ISDN模块,公司网络通过ISDN连接到ISP。
随机试题
奥苏伯尔提出,进行有意义学习必须具备的条件有()。
女性,16岁,于右膝下方有一肿块,5年来逐渐增大,无痛,步态正常。X线摄片发现右胫骨内上方有一肿物,基底部有骨小梁与胫骨相连,基顶盖部致密度减低,边界尚可辨认。如果此肿物突然生长加快,X线片示在瘤体边缘有模糊不清的棉絮状钙化阴影,对其治疗应采用
治疗胎盘早剥时,应在纠正休克的同时
A病区是普通外科。每个病室收治3个患者。小王是刚进临床的护校实习学生,小张是她的带数老师。在见习病房清洁、消毒工作时。护士长发现小王错误的做法是
钱某,女,25岁,某公司员工。患者1年前无明显诱因出现尿频、尿急、尿痛,遂到当地医院就诊。患者服用药物4天后症状消失,半年前复发,经治疗后好转。8天前患者又出现尿频、尿急,溺时灼热刺痛,淋沥不畅,频数短涩,溺色混赤,小腹拘急胀痛,口燥咽干,舌苔黄腻,脉滑数
甲公司为上市金融企业,20×7年至20×9年期问有关投资如下:(1)20×7年1月1日,按面值购入100万份乙公司公开发行的分次付息、一次还本债券、款项已用银行存款支付,该债券每份面值100元,票面年利率5%,每年年末支付利息,期限5年,甲公司
问题解决的过程包括发现问题、理解问题、提出假设和【】
一次公开课过后,我把课堂上用过的精美卡片作为奖励发给同学们,然后对他们课堂上踊跃的表现给予表扬。从这以后,我渐渐发现我班注意力不集中的宋振铭同学在课堂上的听课状态有了明显的好转。一个偶然的机会,他母亲说:“自从你给了他那个‘特殊的奖励’后,他对自己的要求严
现有某图书销售数据库,其关系表结构如下:图书表(图书编号,图书名称,出版社编号,出版社名称,出版时间,出版数量,版次)图书销售表(图书编号,销售日期,销售数量,书店编号,读者编号,读者姓名,读者电话)书店表(书店编号,联系电话
Inrecentyears,moreandmoreforeignersareinvolvedintheteachingprogramsoftheUnitedStates.Boththeadvantagesandth
最新回复
(
0
)