asp で一部のデータを並べ替える必要がある場合があります。asp<% でよく使用される方法をいくつか示します。
データを暗くする
aData = 配列(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
バウンド = UBound(a_Data)
For 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
次
選択ソート = a_Data
終了機能
'クイックソート
関数クイックソート(a_Data)
薄暗いi、j
ディムバウンド、t
バウンド = UBound(a_Data)
For 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)
ディム 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
終了機能
'出力配列
サブ応答配列(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>
エンドサブ
%>