#JC1020. 选择排序(一)-选择排序
选择排序(一)-选择排序
一、单项选择题(每题2分,共20分)
1、选择排序升序时,每一轮要在未排序区间查找的是?()。 {{ select(1) }}
- 最小值
- 最大值
- 中间值
- 随机数
2、选择排序升序,找到未排序区间最小值之后,执行的操作是?()。 {{ select(2) }}
- 将最小值直接删除
- 将最小值与未排序区间第一个元素交换
- 将最小值放到数组末尾
- 给最小值赋值为0
3、n个元素的数组使用选择排序,外层循环一共需要执行多少轮?()。 {{ select(3) }}
- n轮
- n+1轮
- n‑1轮
- 2*n轮
4、选择排序代码中,需要用变量保存的是?()。 {{ select(4) }}
- 最值元素的下标
- 最值的具体数值
- 数组的总字节数
- 数组的变量名
5、已知数组 {5,2,4,1,3},第一轮升序选择排序结束之后数组结果为?()。 {{ select(5) }}
- {2,5,4,1,3}
- {1,2,4,5,3}
- {1,2,3,4,5}
- {5,1,4,2,3}
6、两个整型变量a、b完成数据交换,下面代码正确的是?()。 {{ select(6) }}
- a = b; b = a;
- swap(t,a,b);
- t=a; b=a;
- int t = a; a = b; b = t;
7、选择排序内层for循环的主要作用是?()。 {{ select(7) }}
- 控制排序的轮次
- 遍历未排序区间,寻找最值的下标
- 输出数组全部元素
- 数组初始化清零
8、选择排序做降序排序,每一轮未排序区间寻找?()。 {{ select(8) }}
- 最大值
- 最小值
- 平均值
- 第一个元素
9、关于选择排序区间划分说法正确的是?()。 {{ select(9) }}
- 每一轮结束后已排序区间长度减1
- 每一轮结束未排序区间长度加1
- 数组分为已排序区间和未排序区间
- 全程不划分区间
10、选择排序每一轮循环完成后会发生什么?()。 {{ select(10) }}
- 确定1个元素的最终排序位置
- 整个数组直接全部有序
- 数组所有元素全部交换一遍
- 数组元素全部清零
二、判断题(每题2分,共10分)
11、选择排序升序,每一轮选出最小值放到未排序区间的最前面。() {{ select(11) }}
- 正确
- 错误
12、n个元素数组做选择排序,外层循环执行n轮就可以完成排序。() {{ select(12) }}
- 正确
- 错误
13、交换两个变量的值,通常需要借助临时变量完成中转。() {{ select(13) }}
- 正确
- 错误
14、选择排序算法需要双层for循环实现,外层控制轮次,内层查找最值下标。() {{ select(14) }}
- 正确
- 错误
15、选择排序每一轮结束,至少有一个元素到达自己最终的位置。() {{ select(15) }}
- 正确
- 错误