首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
给定程序中,函数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
60
问题
给定程序中,函数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://kaotiyun.com/show/JiJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下能正确定义数组并正确赋初值的语句是()。
在C语言系统中,假设int类型数据占两个字节,则double、long、unsignedint、char类型数据所占字节数分别为()。
下述函数用于统计一行字符中的单词个数,单词之间用空格分隔。word_num(str)for(i=0;str[i]!=【】;i++)if(【】=’’)word=0;【】;}
【】是数据库应用的核心。
下面程序的输出结果是______。main(){charstr[10],c=’a’;inti=0;for(;i<5;i++)str[i]=C++;printf("%s",str);}
运行下面的程序,其输出结果为______。main(){pintf("%d,%d",5%-3,-5%3);}
库函数strcpy用以复制字符串,若有以下定义和语句:charstr1[]="china",str2[10],*str3,*str4="china";则对库函数strcpy的正确的调用是_______。
在一个容量为25的循环队列中,若头指针front=16,尾指针rear=9,则该循环队列中共有【】个元素。
假定下列程序的可执行文件名为filel.exe,在该程序的子目录下输入命令行:file1ChinaBejing<回车>main(intargc,char*argv[]){while(argc-->1)printf("
函数pi的功能是根据以下近似公式求π值:(π*π)/6=1+1/(2*2)+1/(3*3)+…+1(n*n)现在请你在下面的函数中填空,完成求π的功能。#include“math.h"{doubles=0.0;
随机试题
QualitiesofFriendshipTohaveafriend,beafriend;be【C1】______(friend).Afriendislikeashipthatcarriesus,【C2】____
关于案件的审理是否公开,下列何种说法是正确的?()假设一审法院判决不准许李大民与张小丽离婚,李大民不服提起上诉,二审法院审理后认为应当判决离婚,在此情况下,二审法院应如何处理?()
下列关于工程量清单计价法表述有误的是()。
“快”是包裹快递的最本质特征,也是客户最基本的要求。()
1949年中华人民共和国的成立,标志着中国进入()。
宏大超市的所有商品都是合格产品。有些贴有蓝箭商标的商品不是合格产品。如果上述两个命题都是真的,那么以下哪个命题能够确定真假?(1)贴有蓝箭商标的商品都是宏大超市的商品。(2)贴有蓝箭商标的商品都不是宏大超市的商品。(
A、条件(1)充分,但条件(2)不充分B、条件(2)充分,但条件(1)不充分C、条件(1)和(2)单独都不充分,但条件(1)和条件(2)联合起来充分D、条件(1)充分,条件(2)也充分E、条件(1)和条件(2)单独都不充分,条件(1)和条件(2)联
技术发展给社会带来的弊端——1989年英译汉及详解WhenJaneMathesonstartedworkatAdvancedElectronicsInc.12yearsago,【F1】shelabouredoveramic
指令“AND AX,STR1 AND STR2”中,S9R1和STR2是两个已赋值的变量,两个AND的区别是第一个AND是逻辑与指令,而第二个AND是逻辑与______。
Itusuallytakesmuch(less)timetoflyfromonecountryto(another)than(traveling)(by)train.
最新回复
(
0
)