首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和代码,填补代码中的空缺,将解答填入对应栏内。 【说明】 对n个元素进行简单选择排序的基本方法是:第一趟从第1个元素开始,在n个元素中选出最小者,将其交换至第一个位置,第二趟从第2个元素开始,在剩下的n-1个元素中选出最小者,将其交换至第二个位
阅读以下说明和代码,填补代码中的空缺,将解答填入对应栏内。 【说明】 对n个元素进行简单选择排序的基本方法是:第一趟从第1个元素开始,在n个元素中选出最小者,将其交换至第一个位置,第二趟从第2个元素开始,在剩下的n-1个元素中选出最小者,将其交换至第二个位
admin
2018-11-21
61
问题
阅读以下说明和代码,填补代码中的空缺,将解答填入对应栏内。
【说明】
对n个元素进行简单选择排序的基本方法是:第一趟从第1个元素开始,在n个元素中选出最小者,将其交换至第一个位置,第二趟从第2个元素开始,在剩下的n-1个元素中选出最小者,将其交换至第二个位置,依此类推,第i趟从n-i+1个元素中选出最小元素,将其交换至第i个位置,通过n—1趟选择最终得到非递减排序的有序序列。
【代码】
#include
void selectS0rt(int data[], int n )
//对data[0]~data [n—1]中的n个整数按非递减有序的方式进行排列
{
int i、 j、k;
int temp;
for(i=0;i<n一1; i++) {
for(k=i,j=i+1;
(1)
;
(2)
//k表示data
~data[n-1]中最
小元素的下标
if(data[j]<data[k])
(3)
;
if(k!=i){
//将本趟找出的最小元素与data
交换
temp=data
;
(4)
; data[k]=temp;
}
}
}
int main()
{
int arr[]={79,85,93,65,44,70,100,57};
int i,m;
m=sizeof(arr)/sizeof(int); //计算数组元素个数,用m表示
(5)
; //调用selectSort对数组arr进行非递减排序
for(
(6)
;i<m;i++) //按非递减顺序输出所有的数组元素
printf(’’%d\t’’,arr
);
printf(’’\n’’);
return 0;
}
选项
答案
(1)j<n或其等价形式 (2)j++或其等价形式 (3)k=j (4)data[i]=data[k]或*(data+i)=*(data+k)或其等价形式 (5)selectSort(arr,m) 其中,m可替换为8或者sizeof(arr)/sizeof(int) (6)i=0
解析
本题考查C程序的基本结构、运算逻辑和函数调用及应用。
题干中已明确对简单选择算法作了说明,在实现该排序方法的函数selectSort(int data[],int n)中,第一重循环for(i=0;i<n一1;i++)的作用是控制排序的趟数。在每趟排序过程中,都是从data
~data[n一1]中选出最小元素,并用k记录其下标,k的初始值设置为等于i,因此空(1)处应填入“j<n”,使得在该条件下可以遍历选择范围内所有元素,空(2)处应填入“j++”或其等价形式。
在一趟选择的过程中,只需记下最小元素的下标,因此在满足“data[j]<data[k]”的条件下,需要用k记住j(即更小元素的下标),因此空(3)处应填入“k=j”。
显然,如果data
~data[n-1]中最小元素(即data[k])并不是data
时,需要将两者的值交换,因此空(4)应填入“data
=data[k]”或其等价形式。
空(5)处考查函数调用。根据注释,需要调用selectSort对数组arr进行非递减排序,按照selectSort的定义要求,第一个形参本质上需要实参为指针,因此其对应的实参为main函数中的数组arr(数组名表示数组空间的首地址,实质上为常量指针),第二个参数为表示数组元素个数的整数,实参为m、8或sizeof(arr)/sizeof(int)都可以,空(5)处应填入“selectSort(arr,m)”或其等价形式。
空(6)所在循环语句通过i遍历数组元素并逐个输出,此处填入“i=0”实现对i的初始化。
转载请注明原文地址:https://kaotiyun.com/show/12jZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
在文档中插入形状“圆”后,在圆心位置输入了字符C却看不到,为将字符C显示出来,可以右击该形状,选择将其__________。
以下定性的分类变量中,(9)属于有序变量(能排序)。
在Word编辑状态下,移动鼠标至某段左侧,当鼠标光标变成箭头时连击左键3下,结果会选中文档的(45)。
在网页中创建一个如下图所示的表单控件的HTML代码是(26)。
采购了多种品牌的部件进行计算机组装,每个部件都正常,连接、安装、配置操作也完全正确,但系统仍不能正常使用。很可能是____________问题。
一批数据的__________代表这批数据的一般水平,掩盖了其中各部分数据的差异。
此配置允许DHCP服务器分配给客户的地址范围是什么?#/sbin/chkconfig-level3dhcpdon命令的作用是什么?
阅读以下说明,回答问题1至问题6,将解答填入答题纸对应的解答栏内。【说明】在Linux下安装配置DHCP服务,DHCP服务程序/usr/sbin/dhcpd需要读取配置文件/etc/d/hcpd.conf,以下是一个DHCP配置文件的主要内容:
框架在网页布局中主要起什么作用?主页中定义了几个框架,分别显示哪个文档?网页中使用的数据库连接引擎是什么?连接的后台数据库文件名是什么?
从表1-1中为图1-1中(1)~(4)处选择合适设备名称(每个设备限选一次)。表1-2是路由器A上的地址变换表,将图1-2中(8)~(11)处空缺的信息填写在相应的位置。
随机试题
调拨价格属于()
交通局局长胡某,因涉嫌贪污和挪用公款而被人民检察院立案侦查,并被羁押。后胡某被批准取保候审。请分析案例,回答下列问题:对胡某的取保候审,执行机关是()。
开发项目的产品开发成本在核算上将其费用划分为()成本项目。
()属于合同形式的正确表述。
《中华人民共和国教师法》规定,对教师考核的内容不包括()。
下列口令中只有动令的是()
一般人总会这样认为,既然人工智能这门新兴学科是以模拟人的思维为目标,那么,就应该深入地研究人的生理机制和心理机制。其实,这种看法很可能误导这门新兴学科。如果说,飞机发明的最早灵感是来自于鸟的飞行原理的话,那么,现代飞机从发明、设计到不断改进,没有哪一项是基
新民主主义革命的政治目标是()。
Consumersandproducersobviouslymakedecisionsthatmoldtheeconomy,butthereisathirdmajor【C1】______toconsidertherole
Howmanypeoplegotwoundedintheattack?
最新回复
(
0
)