冒泡排序算法的程序实现练习题2020(无答案)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

20200226_class10(信息7)课后练习

1.对n个不同的排序码进行冒泡排序,实现从小到大顺序排列,在下列哪种情况下交换的

次数最多?( )

A. 从小到大排列好的

B. 从大到小排列好的

C. 元素无序

D. 元素基本有序

2.采用冒泡排序算法对数组a进行排序操作,在经过某一遍排序“加工”后,数组元素

a(1)到a(5)的数据依次为“28,70,53,57,30”,则再下一遍排序“加工”后数组元素a(1)到a(5)的数据应该是( )

A. 28,30,70,53,57

B. 28,30,53,57,70

C. 28,30,57,53,70

D. 28,30,53,70,57

3.在校动会上,有五位跳远选手的成绩依次为6.41,5.85,6.21,5.63,6.01。

原始数据6.41,5.85,6.21,5.63,6.01

第一遍5.63,6.41,5.85,6.21,6.01

第二遍____________________________________

第三遍5.63,5.85,6.01,6.41,6.21

第四遍5.63,5.85,6.01,6.21,6.41

若采用冒泡排序算法对其进行从小到大排序,则第二遍的排序结果是()

A. 5.63,6.01,5.85,6.41,6.21

B. 5.63,6.41,5.85,6.01,6.21

C. 5.63,5.85,6.41,6.01,6.21

D. 5.63,6.01,6.21,5.85,6.41

4.有一个数组,采用冒泡排序,

第一遍排序后的结果为:4,10,5,32,6,7,9,17,24

那么该数组的原始顺序不可能

...的是( )

A. 10,5,32,6,7,9,17,24,4

B. 10,5,32,6,7,9,4,17,24

C. 10,5,32,4,6,7,9,17,24

D. 4,10,5,32,17,9,24,6,7

5.数组有5个元素,有以下VB 程序段(温馨提示:外层循环i没有从1到4)

For i = 1 To 2

For j = 1 To 5-i

If a(j+1) < a(j) Then

t = a(j): a(j) = a(j+1): a(j+1) = t

End If

Next j

Next i

温馨提示: 这个实现大or小数据从左or右开始冒泡?

数据“56,23,78,11, 8”依次存放在数组a(1)到a(5)中,执行下列VB 程序段后,数组a(1)到a(5)中的数据依次为( )

A. 8,11,23,56,78

B. 23,11,8,56,78

C. 11,8,23,56,78

D. 8,11,56,23,78

6.数组有6个元素,有以下VB程序段(温馨提示:外层循环i没有从1到5)

For i = 1 To 3

For j = i To 5

If a(j) > a(j + 1) Then

t = a(j): a(j) = a(j+1): a(j+1)=t

End If

Next j

List1.AddItem Str(a(i))

Next i

温馨提示: 温馨提示,这个像冒泡排序,实际上不是冒泡排序,因为j的”始发站”

每次在变动

从代码上看, List1.AddItem Str(a(i)) 这个语句的功能并不是排序完了最终输出,而是在外层i每次循环快结束时执行1次, 所以list1.additem共执行3次

a(1)到a(6)的初始值依次为“ 8 6 5 7 9 3 ”,经过该程序段“加工”后,列表框List1中显示的是()

A. 8 7 6

B. 8 7 9

C. 6 5 3

D. 5 6 7

7.有如下程序段:

For i = 1 To 2

For j = 1 To 6 - i

If a(j) < a(j + 1) Then

k = a(j): a(j) = a(j + 1): a(j + 1) = k

End If

Next j

Next i

温馨提示: 这个实现大or小数据从左or右开始冒泡?

数组元素a(1)到a(6)的值依次为“71,54,58,29,31,78”,经过该程序段加工后,数组元素a(1)到a(6)的值依次为( )

A. 29,31,54,58,71,78

B. 78,71,58,54,31,29

C. 54,29,31,58,71,78

D. 71,58,54,78,31,29

8.对n个元素进行排序,用冒泡法进行排序时,需比较的次数共为( )

A. n*(n-1)

B. n*(n+1)

C. n*(n-1)/2

D. n*(n+1)/2

9.对n个元素进行排序,用冒泡法进行排序时,需交换的次数共为( )

温馨提示:每次比较是否都要交换?

A. 可能大于n*(n-1)/2

B. 必定小于等于n*(n-1)/2

C. n*(n-1)/2

D. n*(n+1)/2

10.(提前预告,在线课堂还有填空题,请在纸张上做好后填空提交,选择题和填空题目在27

日晚上7:30点提醒各位同学)

有如下 VB 程序段:

温馨提示,注意数组a()变量类型为字符串,在字符串比较中, 遵循这样的规则:

相关文档
最新文档