<%
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), "冒泡排序")
'选择排序
関数 SelectSort(a_Data)
薄暗い i、j、k
ディムバウンド、t
bound = UBound(a_Data)
i = 0 の場合、bound-1 へ
k = 私
j = i+1 の場合、限界まで
a_Data(k) > a_Data(j) の場合
k = j
終了の場合
次
t = a_Data(i)
a_Data(i) = a_Data(k)
a_Data(k) = t
次へ
SelectSort = a_Data
終了機能
「快速排序」
関数クイックソート(a_Data)
薄暗いi、j
ディムバウンド、t
bound = UBound(a_Data)
i = 0 の場合、bound-1 へ
j = i+1 の場合、限界まで
a_Data(i) > a_Data(j) の場合
t = a_Data(i)
a_Data(i) = a_Data(j)
a_Data(j) = t
終了の場合
次
次の
クイックソート = a_Data
終了機能
「冒泡排序」
関数 BubbleSort(a_Data)
ディムバウンド
バウンド = UBound(a_Data)
Dim bSorted、i、t
bソート済み = False
バインド > 0 かつ bSorted = False のときに実行します
bソート済み = True
For i = 0 からbound-1まで
a_Data(i) > a_Data(i+1) の場合
t = a_Data(i)
a_データ(i) = a_データ(i+1)
a_Data(i+1) = t
bソート済み = False
終了の場合
次
バウンド = バウンド - 1
ループ
バブルソート = a_Data
終了機能
'插入排序
関数 InsertSort(a_Data)
ディムバウンド
バウンド = UBound(a_Data)
Dim i, j, t
For i = 1 限界まで
t = a_Data(i)
j = i
t<a_Data(j-1) かつ j>0 の間実行する
a_Data(j) = a_Data(j-1)
j = j - 1
ループ
a_Data(j) = t
次
挿入並べ替え = a_Data
関数
「输出数组」
を終了します
サブ ResponseArray(a_Data, str)
ディムス
s = ""
Response.Write "<b>" & str & ":</b>"
i = 0 から UBound(a_Data) へ
s = s & a_Data(i) & ","
次
s = 左(s, Len(s)-1)
応答.書き込み
応答。「<hr>」と書き込みます。
エンドサブ
%>