
<%
Dim aData aData = Array(3,2,4,1,6,0)
Call ResponseArray(aData, "原来顺序") Call ResponseArray(SelectSort(aData), "选择排序") Call ResponseArray(QuickSort(aData), "快速排序") Call ResponseArray(InsertSort(aData), "插入排序") Call ResponseArray(BubbleSort(aData), "冒泡排序")
选择排序 Function SelectSort(a_Data) Dim i, j, k Dim bound, t bound = UBound(a_Data)
For i = 0 To bound-1 k = i For j = i+1 To bound If a_Data(k) > a_Data(j) Then k = j End If Next t = a_Data(i) a_Data(i) = a_Data(k) a_Data(k) = t Next
SelectSort = a_Data End Function
快速排序 Function QuickSort(a_Data) Dim i, j Dim bound, t bound = UBound(a_Data)
For i = 0 To bound-1 For j = i+1 To bound If a_Data(i) > a_Data(j) Then t = a_Data(i) a_Data(i) = a_Data(j) a_Data(j) = t End If Next Next
QuickSort = a_Data End Function
冒泡排序 Function BubbleSort(a_Data) Dim bound bound = UBound(a_Data) Dim bSorted, i, t bSorted = False Do While bound > 0 And bSorted = False bSorted = True For i = 0 To bound-1 If a_Data(i) > a_Data(i+1) Then t = a_Data(i) a_Data(i) = a_Data(i+1) a_Data(i+1) = t bSorted = False End If Next bound = bound - 1 Loop BubbleSort = a_Data End Function
插入排序 Function InsertSort(a_Data) Dim bound bound = UBound(a_Data) Dim i, j, t
For i = 1 To bound t = a_Data(i) j = i Do While t0 a_Data(j) = a_Data(j-1) j = j - 1 Loop a_Data(j) = t Next InsertSort = a_Data End Function
输出数组 Sub ResponseArray(a_Data, str) Dim s s = "" Response.Write "" & str & ":" For i = 0 To UBound(a_Data) s = s & a_Data(i) & "," Next s = Left(s, Len(s)-1) Response.Write s Response.Write " " End Sub
%>
|