首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数fun的功能是将带头节点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10。 请在程序的下划线处填入正确的内容并把下划线删
给定程序中,函数fun的功能是将带头节点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10。 请在程序的下划线处填入正确的内容并把下划线删
admin
2015-06-08
86
问题
给定程序中,函数fun的功能是将带头节点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKl.C中。
不得增行或删行,也不得更改程序的结构!
#include
#include
#define N 6
typedef struer node {
int data;
Struct node *next:
}NODE;
void fun(NODE *h)
{NODE *P,*q; int t;
/**********found***********/
P= ____1____;
while(P) {
/**********found***********/
q=___2____;
while(q){
/**********found***********/
if (p一>data___3____q一>data)
{ t=P一>data; P一>data=q一>
data ; q一>data=t;)
q=q一>next ;
)
p。P一>next;
}
}
NODE *creatlist(int a[])
{NODE *h,*P,*q;int i;
h=(NODE *)malloc(sizeof(NODE));
h一>next=NULL;
for(i=0;i
{ q==(NODE*)malloc(sizeof(NODE));
q一>data=a
;
q一>next=NULL;
if(h->next==NULL)h一>next=
p=q;
else {P一>next=q; P=q;)
}
returrl h;
}
void outliSt(NODE*h)
{NODE*P;
P=h一>next;
if(p==NULL)printf(“The list is
NULL!\n”);
else
{ printf(“\nHead”);
do
{ printf(“一>%d”,P一>data);P=P
一>next;}
while(P!=NULL);
printf(“->End\n”);
}
}
msin()
{NODE*head;
int a[N]={0,10,4,2,8,6);
head=creatliSt(a);
printf("\nThe original list:\n");
outliSt(head);
fun(head);
printf(“\nThe list after sorting:
\n”);
outliSt(head);
}
选项
答案
(1)h一>next (2)p一>next (3)>=
解析
函数fun的功能是将带头节点的单向链表结点数据域中的数据从小到大排序,在fun函数内采用的是选择法排序。
第一空:由审题分析可知,q从h的下一个元素开始寻找最小值,故第一空为“h一>next”。
第二空:由审题分析可知,while循环是在剩下的元素当中找最小值,剩下的结点是由q指向的链表,q从p的后一个结点开始,故第二空处应为“p->next”。
第三空:“if(p->data___3___q一>data)”是比较p结点和q结点数据的大小,如果p结点的数据比q结点的数据大,那么应该将p结点和q结点的数据进行交换,故第三空处应为“>=”。
转载请注明原文地址:https://www.kaotiyun.com/show/JiJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有如下程序:sub(p,n)int(*p)[3],n;{inti;for(i=0;i<=n;i++)printf("%d",p[i][2]);}main(){ints[3][3]={1,2,
有以下程序:voidswap1(intC[]){intt;t=c[0];c[0]=C[1];c[1]=t;}voidswap2(intc0,intc1){
下列程序的输出结果是【】。intt(intx,inty,intcp,intdp){cp=x*x+y*y;dp=x*x-y*y;}main(){inta=4,b=3,c=5,d=6
若有以下定义:intt[3][2];,能正确表示t数组元素地址的表达式是______。
X、Y、Z被定义为mt型变量,若从键盘给X、Y、2输入数据,正确的输入语句是______。
下面函数用来求出两个整数之和,并通过形参传回两数相加之和值。请填空。 intadd(intx,inty,【】,) {【】=x+y;}
注释说明了程序的功能,它分为【】注释和功能性注释。
下面的程序片段y=-1;if(x!=0)if(x>0)y=1;elsey=0;所表示的数学函数关系是_______。
数据库设计包括两个方面的设计内容,它们是_______。
要求以下程序的功能是计算s=1+1/2+1/3+…+1/10main(){intn;floats;s=1.0;for(n=1O;n>1;n--)s=s+1/n;printf("%6.4f\n
随机试题
汝之纯明而不克蒙其泽乎?克:
女。28岁。停经43天,阴道少量流血2天,突感下腹部剧痛,伴肛门坠胀,恶心呕吐。查体:面色苍白,BP80/40mmHg,后穹窿穿刺抽出不凝血5ml,诊为异位妊娠,出血性休克。最佳处理是
原始数据都乘以一个不等于0的常数K
地方性氟中毒主要是由于哪种因素引起的
当钢筋混凝土平屋面的防水等级为Ⅱ级,采用正置式屋面,室内空气湿度常年大于80%,屋面保温材料采用挤塑聚苯(XPS)板时,下列构造何者为宜?
通常而言,下列可以导致股票价格上涨的经济状况变动是()。
下列选项中,()是企业同一般公众进行沟通的最经济和最有效的沟通渠道之一。
《中小学教师职业道德规范》包括爱国守法、教书育人、爱岗敬业、关爱学生、终身学习以及为人师表。()
设有定义语句inta[]={66,88,99};,则以下对此语句的叙述错误的是()。
Expertsinthefoodindustryarethinkingalotabouttrashthesedays.Restaurants,colleges,hospitalsandotherinstitutions
最新回复
(
0
)