首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。 【说明】 某应用中需要对100000个整数元素进行排序,每个元素的取值在0~5之间。排序算法的基本思想是:对每一个元素x,确定小于等于x的元素个数(记为m),将x放在输出元素序列的第m
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。 【说明】 某应用中需要对100000个整数元素进行排序,每个元素的取值在0~5之间。排序算法的基本思想是:对每一个元素x,确定小于等于x的元素个数(记为m),将x放在输出元素序列的第m
admin
2014-11-13
83
问题
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。
【说明】
某应用中需要对100000个整数元素进行排序,每个元素的取值在0~5之间。排序算法的基本思想是:对每一个元素x,确定小于等于x的元素个数(记为m),将x放在输出元素序列的第m个位置。对于元素值重复的情况,依次放入第m—1、m一2、…个位置。例如,如果元素值小于等于4的元素个数有10个,其中元素值等于4的元素个数有3个,则4应该在数据元素序列的第10个位置、第9个位置和第8个位置上。算法具体的步骤为:
步骤1:统计每个元素值的个数。
步骤2:统计小于等于每个元素值的个数。
步骤3:将输入元素序列中的每个元素放入有序的输出元素序列。
【C代码】
下面是该排序算法的C语言实现。
(1)常量和变量说明
R常量,定义元素取值范围中的取值个数,如上述应用中R值应取6
i:循环变量
n:待排序元素个数
a:输入数组,长度为n
b:输出数组,长度为n
c:辅助数组,长度为R,其中每个元素表示小于等于下标所对应的元素值的个数。
(2)函数sort
voidsort(intn,inta[],intb[]){
intc[R],i;
for(i=0;i<(1);i++){
c
=0;
}
for(i=0;i
c[a
]=(2);
}
for(i=0;i
c
=(3);
}
for(i=0;i
b[c[a
]一1]=(4);
c[a
]=c[a
]一1;
}
}
根据说明和C代码,填充C代码中的空缺(1)~(4)。
选项
答案
(1)R(2)c[a[i]]+1(3)c[i]+c[i-1](4)a[i]
解析
在函数sort中,首先对辅助数组c进行初始化,将R个元素全部初始化为0,代码为:
for(i=0;i
c
=0;
}
然后,统计每个元素值的个数,元素的个数保存数组c中,c的下标表示对应的元素。通过循环读取元素
a
,每读取到一个a
,c[a
]的值变加1。代码为:
for(i=0;i
c[a
]=c[a
]+1;
}
接下来统计小于等于每个元素值的个数,用c
保存。输入数组的每个元素的取值在0~5之间,即有6种取值,0、1、2、3、4、5,则c[0]保存的是值为O的元素个数,c[1]保存的是值为1的元素个数,以此类推,c[5]保存的是值为5的元素个数。则小于等于O的元素个数有c[0]个,小于等于l的元素有c[0]+c[1]个,小于等于2的元素有c[0]+c[1]+c[2]个,依次类推,小于等于5的元素个数为c[0]+c[1]+c[2]+c[3]+c[4]+c[5]。代码为:for(i:0;i
c
=c
+c[i一1];
}
最后,将输入元素序列中的每个元素放入有序的输出元素序列。小于等于a
的元素有c[a
]个,由于c语言中,数组的下标从0开始,每读取的一个值为a
的元素,应保存到b[c[a
]一1],然后将c[a
]的值减1,c[a
]保存当前未保存到数组b中的值为a
的元素个数。代码为:
for(i=0;i
b[c[a
]一1]=a
;
c[a
]=c[a
]一1;
}
转载请注明原文地址:https://kaotiyun.com/show/KZDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
启动init进程前,不需要经过______步骤。A.LIIO加载内核B.检测内存C.加载文件系统D.启动网络支持假设root用户执行init0命令,系统将会______。A.暂停B.关机C.重新
网络设计流程通常由以下五个阶段组成:A.确定网络物理结构B.确定网络逻辑结构C.对现有网络的体系结构进行分析D.安装和维护E.需求分析根据网络开发设计的过程,给出上述五个阶段的先后排序:(1)。Ca
网络设计流程通常由以下五个阶段组成:A.确定网络物理结构B.确定网络逻辑结构C.对现有网络的体系结构进行分析D.安装和维护E.需求分析根据网络开发设计的过程,给出上述五个阶段的先后排序:(1)。为上
阅读下面的说明,回答问题1至问题4。【说明】某企业园区网采用了三层架构,按照需求,在网络中需要设置VLAN、快速端口、链路捆绑、Internet接入等功能。该园区网内部分VLAN和IP地址如表12-2所示。表12-2
在“管理工具”中运行“管理IP筛选器列表”,创建一个名为“SNMP消息”的筛选器。在如图12-3所示的“IP筛选器向导”中指定IP通信的源地址,下拉列表框中应选择(1);在如图12-4中指定IP通信的目标地址,下拉列表框中应选择(2)。在图
在“管理工具”中运行“管理IP筛选器列表”,创建一个名为“SNMP消息”的筛选器。在如图12-3所示的“IP筛选器向导”中指定IP通信的源地址,下拉列表框中应选择(1);在如图12-4中指定IP通信的目标地址,下拉列表框中应选择(2)。在图
请阅读下列SwitchA的配置信息,并在(1)~(5)处解释该语句的作用。Switch>enable(进入特权模式)Switch#configterminal(进入配置模式)Switch(config)#hostnameSwi
完成下列命令行,对网络接口进行地址初始化配置。firewall(config)#ipaddressinside(1)(2)firewall(config)#ipaddressoutside(3)(4)以下命令针对网络服务的端口配
从网络拓扑图中可以看出该校园网采用了分层设计结构,回答以下问题:1.交换机按照所处的层次和完成的功能分为三种类型:核心交换机、汇聚交换机和接入交换机。下表是学校采购的三种交换机,请根据交换机的技术指标确定交换机的类型。在答题纸对应的解答栏内
在控制面板的“添加/删除程序”对话框中选择(1),然后进入“应用程序服务器”选项,在(2)组件复选框中选择“文件传输协议(FTP)服务”,就可以在Windows2003中安装FTP服务。(1)A.更改或删除程序B.添加新程序C.添加/删除
随机试题
Hotelemployeesareremindedtobeandcourteous,especiallytofirst-timeguests.
法人的人格权包括【】
Weshould______alladvancedscienceandtechnologytodevelopoureconomy.
A.开放式:适于交往继续进行B.探索式C.偏向式D.在一次提问中提出几个问题E.封闭式:适于得到确切答复在一次社区护士与患者交谈的过程中,社区护士注意应用了几种提问技巧,请说出护士在下面的提问中分别采用了什么方式。“你支持控烟计划和戒酒计划吗
A.苏木紫小体B.洋葱皮样病变C.疣状心内膜炎D.血管炎E.盘状红斑能够诊断系统性红斑狼疮的特征性病理依据是
气体灭火系统管道末端采用防晃支架固定,支架与末端喷嘴间的距离不大于()。
2,3,6,3,5,12,5,7,24,7,(),()。
长天汽车制造公司的研究人员发现,轿车的减震系统越“硬”,驾驶人员在驾驶中越是感到刺激。因此,他建议长天汽车制造公司把所有的新产品的减震系统都设计得更“硬”一些,以提高产品的销量。下面哪一项如果为真,最能削弱该研究人员的建议?
AstudyfoundthattheradiationfromCTscans—thetestsregularlyusedto【C1】______internalinjuriesorsignsofcancer—islike
将高级语言编写的程序翻译成机器语言程序,所采用的两种翻译方式是
最新回复
(
0
)