首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和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
41
问题
阅读下列说明和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代码,分析该排序算法是否稳定。若稳定,请简要说明(不超过100字);若不稳定,请修改其中代码使其稳定(给出要修改的行号和修改后的代码)。
选项
答案
不稳定。修改第12行的for循环为:for(i=n—1;i>:0;i-){即可。
解析
假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r
i
=r
j
,且r
i
在r
j
之前,而在排序后的序列中,r
i
仍在r
j
之前,则称这种排序算法是稳定的;否则称为不稳定的。题目中,从下标0开始读取a(i]元素,第一个读取的值为a
的元素保存在b[c[a
]一1],第二个读取的a
的元素保存在b[c[a
].2],也就是说后读取的值为a
的元素保存在前面,因此该算法是不稳定的,只需讲最后一个for循环改为如下代码即可变为稳定的。
for(i=n一1;i>=0;i一一)(
b[c[a
]一1]=a
;
c[a
]=c[a
]一1;
}
转载请注明原文地址:https://kaotiyun.com/show/dZDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
从下列选项中选取合适的答案分别填入图4-1中的(1)~(4)处。A.DES算法B.MD5算法C.会话密钥D.数字证书E.甲的公钥F.甲的私钥G.乙的公钥H.乙的私钥以下关于摘要
启动init进程前,不需要经过______步骤。A.LIIO加载内核B.检测内存C.加载文件系统D.启动网络支持Linux系统运行级别3工作在______状态。A.单用户字符模式B.多用户字符模式
网络设计流程通常由以下五个阶段组成:A.确定网络物理结构B.确定网络逻辑结构C.对现有网络的体系结构进行分析D.安装和维护E.需求分析根据网络开发设计的过程,给出上述五个阶段的先后排序:(1)。有线
某交换机的配置命令如下,根据命令后面的注释,填写(1)~(3)处的空缺内容,完成配置命令。Switch(config)#(1)//将交换机命名为Sw1Swl(config)#interfacevlan1Swl(config
销售部的网络号是(1),广播地址是(2):技术部的网络号是(3),广播地址是(4);每个子网可用的IP地址有(5)个。在网关计算机/etc/sysconfig/network-scripts/目录中有以下文件,运行某命令可以启动网络,该命令是(9),其
请阅读下列SwitchA的配置信息,并在(1)~(5)处解释该语句的作用。Switch>enable(进入特权模式)Switch#configterminal(进入配置模式)Switch(config)#hostnameSwi
请选择恰当的内容填写在(1)、(2)、(3)空白处。一般用Host表、网络信息服务系统(NIS)和域名服务(DNS)等多种技术来实现主机名和IP地址之间的转换。Host表是简单的文本文件,而DNS是应用最广泛的主机名和IP地址的转换机制,它使用(1
阅读以下说明,回答问题1至问题3。【说明】某校园网物理地点分布如图1-1所示,拓扑结构如图1-2所示:
随机试题
M公司环境污染事件M公司是某市一家知名的国有化工企业,拥有1000多名员工,每年上缴2亿多元,为该市的纳税大户,公司王总经理也被评为优秀企业家。2010年公司决定进行技术改造,设备更新,扩大生产,企业升级。9月技改完成并试生产,但是却偷偷将氨氮含
对于患虫病兼体虚者的治疗原则是( )。
我国《刑事诉讼法》规定了具有法定情形不予追究刑事责任原则,下列案件的处理体现这一原则的是:()
某房地产开发商打算在英国的一处废弃的私人庄园开发别墅群项目,周围没有其他房产项目。该私人庄园虽早已废弃,但已成为野生动物的栖息地,因此政府需要评价环境价值来判断是否审批该房地产开发项目。问题:环境影响经济损益分析步骤有哪些?
科目汇总表账务处理程序与记账凭证账务处理程序的主要不同点在于()。
对证券交易所作出的()决定不服的,可以向证券交易所设立的复核机构申请复核。
能够同时以实物量指标和价值量指标分别反映企业经营收支和相关现金收支的预算是()。
某些种类的海豚利用回声定位来发现猎物:它们发射出滴答的声音,然后接收水域中远处物体反射的回音。海洋生物学家推测这些滴答声可能有另一个作用:海豚用异常高频的滴答声使猎物的感官超负荷,从而击晕近距离的猎物。以下哪项如果为真,最能对上述推测构成质疑?
单用户数据库管理系统与多用户数据库管理系统之间最明显的、也是最重要的差别是否支持多个用户()数据库。
【B1】【B3】
最新回复
(
0
)