首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和c代码,回答问题1至问题3,将解答写在对应栏内。 [说明] 某应用中需要对100000个整数元素进行排序,每个元素的取值在0~5之间。排序算法的基本思想是:对每一个元素x,确定小于等于x的元素个数(记为m),将x放在输出元素序列的
阅读下列说明和c代码,回答问题1至问题3,将解答写在对应栏内。 [说明] 某应用中需要对100000个整数元素进行排序,每个元素的取值在0~5之间。排序算法的基本思想是:对每一个元素x,确定小于等于x的元素个数(记为m),将x放在输出元素序列的
admin
2012-03-21
38
问题
阅读下列说明和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
1 void sort(int n, int a[], int b[]) {
2 int c[R], i;
3 for(i=0; i< (1) ; i++) {
4 c
=0;
5 }
6 for(i=0; i<n; i++) {
7 c[a
]= (2) ;
8 }
9 for(i=1; i<R; i++) {
10 c
= (3) ;
11 }
12 for(i=0; i<n; i++) {
13 b[c[a
]-1]= (4) ;
14 c[a
]=c[a
]-1;
15 }
16 }
根据说明和C代码,填充C代码中的空缺(1)~(4)。
选项
答案
(1)R (2)c[a[i]]+1 (3)c[i]+c[i-1] (4)a[i]
解析
本题考查算法设计与分析技术以及算法的C语言实现,是比较传统的题目,要求考生细心分析题目中所描述的内容。
根据题中说明,第3到第5行代码进行c数组的初始化,c数组的长度为R,在C语言中,下标从0开始,因此空格(1)中填写R。第6到第8行检查a数组的每一个元素。如果元素的值为i,则增加c
的值。因此c[a
]=c[a
]+1,空格(2)填写c[a
]+1。完成第6行到第8行的代码后,c
中就存放了等于i的元素的个数。第9到第11行,通过在数组c中记录计数和,c
=c[i-1]+c
,可以确定对每一个i=0,1,…,R-1,有多少个元素是小于或等于i的。因此空格(3)填写c[i-1]+c
。第12行到第15行把数组a中每个元素a
放在输出数组b中与其相应的最终位置上,b[c[a
]-1]=a
,因此空格(4)填写a
。由于可能存在相同元素,因此每次将一个值a
放入数组b中时,都要减小c
的值。下面以一个例子来说明排序过程。
设a={4,1,3,4,3,4},R=5,即待排序的元素值在{0,1,2,3,4}中,其排序过程如下图所示。
图中(a)为输入数组a,(b)为初始化后的c数组,(c)为统计数组a中每个元素后的c数组,(d)为计数和,即统计小于等于i的元素个数后的c数组。(e)到(j)是将a数组中的元素依次放到b数组的过程,(k)是数组a和数组b的元素对应关系。
转载请注明原文地址:https://kaotiyun.com/show/7lDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
程序运行过程中常使用参数在函数(过程)间传递信息,引用调用传递的是实参的()。
一个Web信息系统所需要进行的测试包括____________。①功能测试②性能测试③可用性测试④客户端兼容性测试⑤安全性测试
程序质量评审通常是从开发者的角度进行评审,其内容不包括____________。
某企业有生产部和销售部,生产部负责生产产品并送入仓库,销售部从仓库取出产品销售。假设仓库可存放n件产品。用PV操作实现他们之间的同步过程如下图所示。其中,信号量S是一个互斥信号量,初值为(1);S1是一个(2);S2是一
某企业有生产部和销售部,生产部负责生产产品并送入仓库,销售部从仓库取出产品销售。假设仓库可存放n件产品。用PV操作实现他们之间的同步过程如下图所示。其中,信号量S是一个互斥信号量,初值为(1);S1是一个(2);S2是一
(33)不属于功能测试用例构成元素。
软件可移植性应从如下(46)方面进行测试。
某汽车维修公司有部门、员工和顾客等实体,各实体对应的关系模式如下:部门(部门代码,部门名称,电话)员工(员工代码,姓名,部门代码)顾客(顾客号,姓名,年龄,性别)维修(顾客号,故障情况,维修日期,员工代码)假设每个部门允许有多部电话,则电话属性为
“<titlestyle="italic">science</title>”是XML中一个元素的定义,其中元素的内容是(29)。
随机试题
丞相祠堂何处寻?锦官城外柏森森。映阶碧草自春色,隔叶黄鹂空好音。三顾频烦天下计,两朝开济老臣心。出师未捷身先死,长使英雄泪满襟。如何理解“三顾频烦天下计,两朝开济老臣心”两句?
肾小球滤过率是指
牙齿发育异常不包括
婴儿的呼吸类型是
对于R717蒸汽压缩式制冷系统,其出水温度为37℃,制冷量为900kW,则为该系统所配的空气分离器的简体直径应为()mm。
工程项目计划围绕()等,从而保证工程项目能够在合理的工期内,用尽可能低的成本和尽可能高的质量和效率完成。
与钢相比,铸铁虽然在力学性能方面较差,但具有良好的铸造性能和良好的耐磨性、消振性及低的缺口敏感性,同时铸铁工艺简单、成本低,经合金化后,还具有良好的( )。
【B1】【B16】
Whatiscommontragedyeverywhereaccordingtothepassage?
OnFridaynightswhenherfriendsaredecidingwhichfilmtosee,KarinaWood【C1】______toarecreationalclubwhereshe【C2】_____
最新回复
(
0
)