#JC1021. 简单排序(二)-冒泡排序

简单排序(二)-冒泡排序

一、单项选择题(每题2分,共20分)

1、冒泡排序升序排序时,每一轮会把什么“冒”到数组末尾?()。 {{ select(1) }}

  • 最小值
  • 最大值
  • 中间值
  • 随机数

2、冒泡排序的核心比较方式是?()。 {{ select(2) }}

  • 相邻两个元素两两比较
  • 当前元素和后面全部元素比较
  • 直接比较数组首尾元素
  • 只比较下标为偶数的元素

3、n个元素的数组做冒泡排序升序,外层循环一共需要执行多少轮?()。 {{ select(3) }}

  • n轮
  • n‑1轮
  • n+1轮
  • 2*n轮

4、冒泡排序内层循环j < n‑1‑i,其中变量i代表的是?()。 {{ select(4) }}

  • 排序的轮数
  • 数组元素的值
  • 数组的总大小
  • 交换的次数

5、数组 {77,45,26,86,9},冒泡排序第一轮结束之后,数组末尾的元素是?()。 {{ select(5) }}

  • 9
  • 45
  • 77
  • 86

6、冒泡排序中,当相邻两个元素顺序错误时,需要执行的操作是?()。 {{ select(6) }}

  • 直接删除该元素
  • 交换两个元素
  • 给元素赋值为0
  • 将元素移动到数组开头

7、下面关于冒泡排序和选择排序说法正确的是?()。 {{ select(7) }}

  • 冒泡排序和选择排序都需要执行n‑1轮
  • 冒泡排序需要查找最值下标
  • 选择排序只比较相邻元素
  • 两者的交换次数一定完全相同

8、有10个数字使用冒泡排序,全部比较完成一共需要多少次比较?()。 {{ select(8) }}

  • 35
  • 45
  • 55
  • 10

9、冒泡排序实现降序排列时,if判断条件应该是?()。 {{ select(9) }}

  • if(a[j] < a[j+1]) 交换
  • if(a[j] > a[j+1]) 交换
  • if(a[j] == a[j+1]) 交换
  • if(a[j] != a[j+1]) 交换

10、车厢重组题目中,使用冒泡排序,cnt计数器的作用是?()。 {{ select(10) }}

  • 统计数组元素总和
  • 统计元素交换的总次数
  • 记录循环执行轮数
  • 保存数组最大值

二、判断题(每题2分,共10分)

11、冒泡排序每一轮结束之后,至少有一个元素到达最终正确位置。() {{ select(11) }}

  • 正确
  • 错误

12、冒泡排序内层循环每一轮的比较次数不会随着轮数增加而减少。() {{ select(12) }}

  • 正确
  • 错误

13、swap(a[j],a[j+1])可以直接交换数组中下标j和j+1两个位置的元素。() {{ select(13) }}

  • 正确
  • 错误

14、冒泡排序与选择排序相同,都只可以对浮点数排序,不能排整数。() {{ select(14) }}

  • 正确
  • 错误

15、冒泡排序外层循环控制排序轮数,内层循环控制每一轮相邻元素比较。() {{ select(15) }}

  • 正确
  • 错误