首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列函数说明和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
49
问题
阅读下列函数说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
以下类图中,类Classl和Class2之间是()关系。
假设段页式存储管理系统中的地址结构如下图所示,则系统()。
对于防病毒系统的测试是系统安全测试的重要内容,下列不属于防病毒系统安全测试基本测试点的是____________。
以下不属于系统测试的是___________。①单元测试②集成测试③安全性测试④可靠性测试⑤确认测试⑥验收测试
某教学管理数据库中,学生、课程关系模式和主键分别为:S(学号,姓名,性别,家庭住址,电话),关系S的主键为学号;C(课程号,课程名,学分),关系C的主键为课程号。假设一个学生可以选择多门课程,一门课程可以由多个学生选择。一旦学生选择某门课程必定有该课程的成
某个应用中,需要对输入数据进行排序,输入数据序列基本有序(如输入为1,2,5,3,4,6,8,7)。在这种情况下,采用(40)排序算法最好,时间复杂度为(41)。(41)
(16)是一种面向数据流的开发方法,其基本思想是软件功能的分解和抽象。
给定包含n个正整数的数组A和正整数x,要判断数组A中是否存在两个元素之和等于x。先用插入排序算法对数组A进行排序,再用以下过程P来判断是否存在两个元素之和等于x。low=l;high=n;while(high>low)ifA[low]+A[hig
下面为C语言程序,边界值问题可以定位在(45)。 int data(3), int i, for(i=1, i<=3, i++)data(i)=100
阅读以下说明,回答问题1至问题4,将解答填人答题纸的对应栏内。[说明]某小公司的网络拓扑如图9-2所示。其中路由器具有ISDN模块,公司网络通过ISDN连接到ISP。
随机试题
《药品管理法》规定药品经营企业、药品临床使用单位必须配备
不同来源的同种细菌称为
消防部门对管辖区域的4家企业的火灾自动报警系统组件分别检测了100项,检查结果中不合理数量如下:(1)甲企业有A类项目1项,B、C类项目0项。(2)乙企业有A类项目0项,B、C类项目各1项。(3)丙企业有A类项目0项,B、C类项目各2项。(4)丁企业有A类
某人于2008年初向银行贷款100万元,年利率4%,贷款期限是5年,约定按照季度等额本金偿还,则他在2010年1月应该偿还的贷款本息额为()元。
除不予受理、对管辖权的异议、驳回起诉的裁定可以上诉外,其他裁定一律不准上诉,一审判决可以上诉。()
儿童科学教育的基本目标有()。
在教学中,为了处理好教学活动的顺序、学科课程体系及学生发展规律之间错综复杂的关系,学者们总结了()。
简述企业对所面临的威胁可能选择的对策。
下列选项中,不属于问卷中各种问题顺序安排的原则的是
Wethinkitpossible______thelocalgovernmentwillbeabletosolvethehousingproblem.
最新回复
(
0
)