内容正文:
4.5排序同步练习人教版信息技术选修1
学校:___________姓名:___________班级:___________考号:___________
一、选择题
1.有如下 VB 程序段:
count = 0: n = 7: i = 1 Do While i <= n
If a(i) > a(i + 1) Then
count = count + 1
t = a(i): a(i) = a(i + 1): a(i + 1) = t
End If
If i = n Then
i = 0: n = n - 1
i = i + 1
Loop
Text1.Text = Str(count)
数组元素 a(1)~a(8)的值依次是“15,2,1,17,19,14,25,26”,执行该程序段后,文本框 Text1 中显示的是( )
A.4 B.5 C.6 D.7
2.利用冒泡排序给数组[15,78,88,23,69,71,20,53]升序排序,第三遍冒泡加工之后的数据结果是( )
A.[15,20,23,78,88,69,71,53] B.[15,20,23,53,78,88,69,71]
C.[15,78,23,69,71,20,53,88] D.[15,23,69,71,20,53,78,88]
3.有如下VB程序段:
For i=1 To n-1 Step 2
For j=1To((n+1)\2)*2-i-2 Step 2
If a(j)>a(j+2)Then
t=a(j):a(j)=a(j+2):a(j+2)=t
End If
Next j
For j= ①
If a(j)>a(j-2)Then
t=a(j):a(j)=a(j-2):a(j-2)=t
End If
Next j
Next i
执行该程序段后,实现了对数组元素a(1)~a(n)中的奇数位置从小到大排序,偶数位置从大到小排序。则代码中①处的语句可为( )
A.(n\2)*2 To i+1 Step-2 B.(n\2)*2 To i+3 Step-2
C.i+1 To(n\2)*2 Step2 D.i+1 To (n\2)*2-2 Step2
4.采用选择排序算法对数据序列“10,7,12,5,6,3”进行排序,第一轮排序后的结果为“12,7,10,5,6,3”,则整个序列完成排序的比较次数和交换次数分别是( )
A.15,6 B.11,5 C.15,3 D.11,4
5.一个序列经过一趟冒泡排序后的结果是:10,21,13,24,28,则原始序列不可能是( )
A.21,13,24,28,10 B.21,10,24,28,13 C.21,10,24,13,28 D.21,24,13,28,10
6.某数据序列为“18,7,15,33,42,29,63,81”,采用选择排序算法将数据从小到大排序,那么排序过程中需要交换元素的次数是( )
A.6 B.5 C.4 D.3
7.某排序算法的 VB 程序段如下:
n = 8: f = 1: c = 0
For i = 1 To n \ 2 - 1
For j = 1 To n - 2 * i
If f * a(j) < f * a(j + 2) Then
t = a(j): a(j) = a(j + 2): a(j + 2) = t
c = c + 1
End If
f = -f
Next j
Next i
数组元素 a(1)到 a(8)的初始值依次为:“16,31,42,38,35,29,27,15”,执行该程序段后,变量 C的值为( )
A.6 B.7 C.8 D.9
8.现有三个整数序列:“1,2,3,4,5”“7,1,6,8,3”“9,8,7,6,5”。用选择排序算法分别对三个序列进行升序排序,比较次数依次为x、y、z,则下列关系正确的是( )
A.x=y=z B.x>y>z C.y>z>x D.z>y>x
9.采用选择排序算法对数据序列“12,23,24,15,11,10”完成升序排序,则需要交换的次数为( )
A.3 次 B.4 次 C.5次 D.6 次
10.假定一组记录为(46,79,56,64,38,40,84,43),在冒泡排序的过程中,进行第一趟排序结束时,元素40不可能在哪个元素之后( )
A.38 B.46 C.56 D.64
二、填空题
11.n个数据的冒泡排序需要经过n-1遍加工,每一遍加工自下而上比较相信两个数据,把较小者交换到上面。小刘发现:当某一遍加工过程