加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

asp下比较常用的排序算法

发布时间:2023-08-12 14:42:43 所属栏目:Asp教程 来源:
导读:在asp中我们经常会需要对一些数据进行排序,那么你知道asp下常用的排序算法有哪些吗?我们又该如何运用它们,那么今天就让小编为大家详细介绍一下吧。

<%

Dim aData

aData = Array(3,2,4,1,6,0)

Cal
在asp中我们经常会需要对一些数据进行排序,那么你知道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
 
%>
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章