服务器之家

服务器之家 > 正文

asp下几种常用排序算法

时间:2019-09-19 12:06     来源/作者:asp教程网

<% 

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 t<a_Data(j-1) And j>0 
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 "<b>" & str & ":</b>" 
For i = 0 To UBound(a_Data) 
s = s & a_Data(i) & "," 
Next 
s = Left(s, Len(s)-1) 
Response.Write s 
Response.Write "<hr>" 
End Sub 
%>

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
返回顶部