首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和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
63
问题
阅读下列函数说明和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://www.kaotiyun.com/show/fuDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
在UML类图中,包含订单和订单明细两个类,则这两个类之间的关系应为______。
某指令流水线由4段组成,各段所需要的时间如下图所示。连续输入8条指令时的吞吐率(单位时间内流水线所完成的任务数或输出的结果数)为()。
1976年Diffie与Hellman首次公开提出___________的概念与结构,采用两个独立的密钥对数据分别进行加密与解密,且加密过程基于数学函数,从而带来了加密领域的革命性进步。
对于逻辑表达式((a‖(b&c))‖(C&&d)),需要___________个测试用例才能完成条件组合覆盖。
下面的协议中属于应用层协议的是(26),该协议的报文封装在(27)中传送。(27)
安全日志是软件产品的一种被动防范措施,是系统重要的安全功能,因此安全日志测试是软件系统安全性测试的重要内容,下列不属于安全日志测试基本测试内容的是_______。
测试执行过程的阶段不包括______。
在.I/O设备与主机问进行数据传输时,CPU只需在开始和结束时作少量处理,而无需干预数据传送过程的是()方式。
GB/T18905-2002《软件工程产品评价》中确定的通用评价过程包括四个方面,即:确立评价需求,规定评价,设计评价和执行评价,其中有关“规定评价”部分包含的内容有(52)。
阅读以下说明和交换机的配置信息,回答问题1至问题3,将解答填入答题纸的对应栏内。[说明]某公司设3个部门,为了便于管理,每个部门组成1个VLAN,公司网络结构如图9-4所示。[交换机Switch1的部分配置信息]Switch
随机试题
当u>0时,f(u)有一阶连续导数,且f(1)=0.z=f(eχ-ey)满足=1,则f(u)=_______.
关于宫内节育器的取出时间,叙述不正确的是
牙科用铸造合金中,高熔合金是指熔点高于
负责组织GMP认证负责制定GMP、GSP实施办法和步骤
关于内发型、外发型法的现代化的特点,下列哪一或哪些选项的表述可以成立?()
专业报关企业必须是具有境内法人地位的经济实体,通常称为独立法人。()
(2019年)甲公司2018年1月1日按面值发行5年期分期付息、一次还本的可转换公司债券2000万元,款项已存入银行,债券票面年利率为6%。债券发行1年后可转换为普通股股票,初始转股价为每股10元,股票面值为每股1元。同期二级市场上与之类似的没有附带转股权
以下行为属于意思表示的是()。
下列叙述中,错误的是
Physicsisthepresent-dayequivalentof______usedtobecallednaturalphilosophyfromwhichmostofpresent-daysciencearos
最新回复
(
0
)