#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) }}

  • 正确
  • 错误