内容正文:
一周一回练----排序算法及程序实现
一、排序思想
数组元素
d(1)
d(2)
d(3)
d(4)
d(5)
值
41
36
38
30
18
对于数组元素
冒泡排序(升序)的思想: 选择排序(升序)的思想:
选择排序总结:
①对n个数据进行选择排序时,共需进行
趟,两两比较的总次数为 ,而交换的次数为
②最小值变量k的值在不断发生变化,而每一趟加工,最多只交换一次数据,所以选择的效率比冒泡要高。
冒泡排序总结:
对n个数据进行排序,共需进行 趟,两两比较的总次数为 ,
而两两交换的总次数为
二、排序程序框架(假设数组为a(1 to n))
二、算法实现
冒泡排序算法程序实现(升序):
选择排序算法程序实现(升序):
排序后,如何在列表框List1中输出数组?
三、程序分析题
1.在NBA某赛季中,快船队5场比赛得分依次是97,89,111,70,90,若采用冒泡排序算法对其进行从小到大排序,在整个排序过程,数据“97”共被交换的次数是
2.下列VB程序运行时,单击按钮Command1后,文本框Text1显示的内容是 ;
Text2显示的内容是
Private Sub Command1_Click()
Dim a(1 To 4) As Integer,k As Integer,s As String
a(1)=1:a(2)=3:a(3)=2:a(4)=0:s=0
For k =2 To 4
If a(k) > a(1) Then
t=a(1):a(1)=a(k):a(k)=t
s=s+1
End If
Next k
Text1.Text = Str(a(1))
Text2.Text = Str(s)
End Sub
3.有如下程序段:
For i = 1 To 2
For j = 5 To i + 1 Step -1
If a(j) > a(i) Then
t = a(j): a(j) = a(i