Array sorting in asp
<%
function fnSort(aSort, intAsc)
Dim intTempStore
Dim i, j
For i = 0 To UBound(aSort) - 1
? ? ? ? ? For j = i To UBound(aSort)
? ? ? ? ? ? ? ? ? ? ? ‘Sort Ascending
? ? ? ? ? ? ? ? ? ? ? if intAsc = 1 Then
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if aSort(i) > aSort(j) Then
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? intTempStore = aSort(i)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? aSort(i) = aSort(j)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? aSort(j) = intTempStore
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? End if ‘i > j
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ‘Sort Descending
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Else
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if aSort(i) < aSort(j) Then
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? intTempStore = aSort(i)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? aSort(i) = aSort(j)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? aSort(j) = intTempStore
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? End if ‘i < j
? ? ? ? ? ? ? ? ? ? ? End if ‘intAsc = 1
? ? ? ? ? Next ‘j
Next ‘i
fnSort = aSort
End function ‘fnSort
‘————————-
Dim aUnSort(3), aSorted
aUnSort(0) = “t”
aUnSort(1) = “d”
aUnSort(2) = “g”
aUnSort(3) = “j”
‘call the function
’second argument:
‘ * ascending sorted = 1
‘ * descending sorting = any other char.
‘? ? ? ? cter
aSorted = fnSort(aUnSort, 1)
Erase aUnSort
Dim a
For Each a In aSorted
? ? ? ? ? Response.Write a & “<br>”
Next
%>
? Input in Array
aUnSort(0) = “t”
aUnSort(1) = “d”
aUnSort(2) = “g”
aUnSort(3) = “j”
Output
d
g
j
t