有程序段如下: Dim a(1 To 8)As Integer K=8:n=8 For i=1 To 3 For j=i+1 To n If a(i)<a(j) Then t=a(i):a(i)=a(j):a(j)=t End If Next j For j=n-i To i+1 Step-1 If a(k)>a(j) Then t=a(k):a(k)=a(j):a(j)=t End If Next j k=k-1 Next i 數(shù)組元素a(1)~a(8)中的初始值為:8,13,7,14,6,9,5,12,執(zhí)行該程序段后,數(shù)組元素a(1)~a(8)中的值將變?yōu)椋ā 。?/h1>
是待排序的數(shù)據(jù),數(shù)據(jù)從a(1)開始存放;整數(shù)型參數(shù)n表示傳入的數(shù)組長(zhǎng)度,該函數(shù)的返回值也是一個(gè)整數(shù)型數(shù)組.所以調(diào)用此函數(shù)實(shí)現(xiàn)排序非常方便: 比如有一個(gè)整數(shù)型數(shù)組a(1 to 10)需要降序排序,可以直接這樣調(diào)用: a
=bubble_sort(False,a
,10) 該函數(shù)VB代碼如下: Function bubble_sort(sx As Boolean,a
As Integer,n As Integer) As Integer
Dim i,j,t As Integer For i=1 To n-1 For j=
Step-1 If
Then If a(j)<a(j-1)Then t=a(j):a(j)=a(j-1):a(j-1)=t Else 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 bubble_sort=a