首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和c代码,回答问题1至问题3,将解答写在对应栏内。 [说明] 某应用中需要对100000个整数元素进行排序,每个元素的取值在0~5之间。排序算法的基本思想是:对每一个元素x,确定小于等于x的元素个数(记为m),将x放在输出元素序列的
阅读下列说明和c代码,回答问题1至问题3,将解答写在对应栏内。 [说明] 某应用中需要对100000个整数元素进行排序,每个元素的取值在0~5之间。排序算法的基本思想是:对每一个元素x,确定小于等于x的元素个数(记为m),将x放在输出元素序列的
admin
2012-03-21
71
问题
阅读下列说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
程序质量评审通常是从开发者的角度进行评审,其内容不包括____________。
系统功能测试过程中,验证需求可以正确实现的测试用例称为(32)。
测试成本控制的目标是使测试开发成本、测试实施成本和测试维护成本最小化,以下理解正确的是______。A.测试准备成本属于测试实施成本B.可以通过加强软件测试的配置管理来降低测试维护成本C.测试设计成本控制的目标是尽可能地减少测试总执行时间和所需的测试
软件系统的安全性是信息安全的一个重要组成部分,针对程序和数据的安全性测试与评估是软件安全性测试的重要内容,()不属于安全性测试与评估的基本内容。
甲、乙软件公司于2013年9月12日就其财务软件产品分别申请“大堂”和“大唐”商标注册。两财务软件相似,且经协商双方均不同意放弃使用其申请注册的商标标识。此情形下,()获准注册。
计算机系统中,虚拟存储体系由______两级存储器构成。
函数t()、f()的定义如下所示。若调用函数t()时传递给x的值为3,并且调用函数f()时,第一个参数采用传值(call by value)方式,第二个参数采用传引用(call by reference)方式,则函数t0的返回值为(33).
“<titlestyle="italic">science</title>”是XML中一个元素的定义,其中元素的内容是(29)。
随机试题
在PowerPoint2000中,如果要向演示文稿的每一张幻灯片中添加相同的对象,应编辑________。
"Helicopterparenting"describesastyleofraisingchildrenwhereparentsareover-protectiveanddotoomuch.Thetermwasuse
鉴别双侧肾上腺增生及肾上腺皮质腺瘤的辅助检查有
年轻女性发现乳房肿块,最常见的疾病是
男,60岁。因胃溃疡合并多次大出血,行胃大部切除术。该病人术后可能出现的营养性并发症不包括
A.柏油样便B.陶土样便C.果酱样便D.米泔水样便E.脓血便细菌性痢疾
A.球后视神经炎B.视乳头炎C.视神经脊髓炎D.视乳头血管炎E.Leber遗传性视神经炎可分为视乳头水肿型和视网膜中央静脉阻塞型的是
患者,女性,结婚2年余未孕,月经周期不规律,经来腹痛,月经量少,色黯有小血块,经前乳房胀痛,烦躁易怒。舌质黯红苔薄白,脉弦。应首选
除首次放款外,以后的每次放款只需要提供()。
下列金融犯罪不能由单位构成的有()。
最新回复
(
0
)