冒泡排序算法的程序实现练习题2020(无答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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()变量类型为字符串,在字符串比较中, 遵循这样的规则: