选考:冒泡排序算法程序实现

选考:冒泡排序算法程序实现

选择题:

1、某品牌汽车4S店前8个月的销售数量存放在数组 a中,如下表所示 a(1) 508 a(2) 415 a(3) 201 a(4) 100 a(5) 125 a(6) 160 a(7) 355 a(8) 300 若采用冒泡排序算法对这些数据进行升序排列,那么在完成第一遍的排序时,数组元素a(1)和a(8)的值分别为( )

A.508 300 B.100 300 C.100 355 D.100 125

2、用冒泡排序对数据70,53,57,28,30,77,1进行排序,排序过程如表所示: 原始数据 70 53 70 28 57 53 30 28 57 70 30 28 53 77 30 57 1 77 77 第一遍加工后 1 第二遍加工后 第三遍加工后 1 …… 3、某书店在5所学校流动售书量(单位:本)分别是88,110,48,64,35。采用冒泡排序对其进行排序,若完成第一遍时的结果是:35,88,110,48,64,则完成第二遍时的结果是

(A)35,88,110,48,64 (B)35,48,88,64,110 (C)35,48,88,110,64 (D)35,48,64,88,110 原始数据 第一遍加工后 第二遍加工后 …… 4、用冒泡排序算法对一组志愿者的身高数据进行排序,假如一遍冒泡排序后就完成升序排序,则下列选项中可能是原始数据序列的是 (A)155,170,186,165,153 (B)155,186,165,153,170 (C)170,155,165,153,186 (D)155,165,153,170,186

5.对5个数字“2、8、6、1、7”进行两遍冒泡排序后即为某密码锁的密码,该密码可能是 (A)12687 (B) 12867 (C)28617 (D)12678

6、有6个学生的身高(单位:厘米)分别是124、126、120、123、125、128;若采用冒泡排序算法对其进行递减排序,则

①第2趟排序共需交换数据的次数是( ) ②6个数组元素需排序 趟,共比较 次,总共需要交换的次数为______, ③、n个数组元素需排序 趟,共比较 次 原始数据 124 126 120 123 125 128 交换 第一遍加工后 第二遍加工后 第三遍加工后 第四遍加工后 第五遍加工后 第六遍加工后 ……

程序设计题:

常见的冒泡排序算法程序实现(以升序排序为例) For i = 1 To ______ For j = 8 To ________ If d(j) < d(j - 1) Then k = d(j)

__________ d(j - 1) = k

End If Next j Next i

1、(2012第5套).校园十佳歌手比赛得分成绩已经出来,为了选出前十名选手,小明编写了如下Visual Basic程序,从所有选手中按得分从高到低选出前十名。选手编号和得分已分别保存在数组a和b中(共23名选手,编号为XS01到XS23),原始数据显示在列表框List1中,运行结果显示在列表框List2中,程序运行界面如图所示。

程序代码如下:

Dim a(1 To 23) As String, b(1 To 23) As Single Private Sub Command1_Click() Dim i As Integer, j As Integer Dim s As String, t As Single

For i = 1 To 22

For j = 1 To 23 - i

If ① Then

s = a(j): a(j) = a(j + 1): a(j + 1) = s t = b(j): b(j) = b(j + 1): b(j + 1) = t End If

Next j Next i

For i = 1 To 10

List2.AddItem a(i) + \② Next i End Sub

Private Sub Form_Load()

'此过程用于对数组a和数组b进行赋值,并显示在List1中,代码略 End Sub

(1)程序中加框部分的算法是 。 (选填:选择排序/冒泡排序) (2)在程序①和②划线处,填入适当的语句或表达式,把程序补充完整:

程序中①划线处应填入 。 程序中②划线处应填入 。

2(2012第5套).求中位数和平均数。一组数据进行排序后,如果有奇数个数,则中位数等于最中间数的值,如果有偶数个数,则中位数等于中间二个数的平均值。下列Visual Basic程序是小华用来计算班级50位同学身高的中位数和平均数。程序运行界面如图所示,50位同学的身高保存在数组a中并显示在列表框List1中,变量z保存中位数并将结果显示在文本框Text1中,变量p保存平均数并将结果显示在文本框Text2中,变量s保存所有身高之和。

程序代码如下:

Dim a(1 To 50) As Integer Private Sub Command1_Click()

Dim i As Integer, j As Integer, t As Integer Dim z As Single, s As Single, p As Single For i = 1 To 49

For j = 50 To i + 1 Step -1 If a(j) < a(j - 1) Then

t = a(j): a(j) = a(j - 1): a(j - 1) = t End If Next j Next i

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4