18 giugno 2008

ASP - Ordinare matrice bidimensionale

Ciao! Visto che in internet non si trova molto, scrivo qui il codice in ASP per ordinare una matrice bidimensionale... ad esempio: array(10,20)

Sub MultiDimSort()
max = UBound(matrice,2)
Dim arr()
ReDim arr(max)
' per ogni riga dell'array
For i=UBound(matrice,1)-1 To 0 Step -1
' scorri tutte le stringhe dell'array che non sono ancora ordinate
For j=1 To i
' se la stringa attuale è "maggiore" della stringa successiva...
If matrice(j-1,0)>matrice(j,0) Then
'inverto
For z=0 To UBound(matrice,2)
arr(z)=matrice(j-1,z)
Next
For z=0 To UBound(matrice,2)
matrice(j-1,z) = matrice(j,z)
Next
For z=0 To UBound(matrice,2)
matrice(j,z) = arr(z)
Next
End If
Next
Next
End Sub

Mentre questo è il codice per riordinare un array normale (monodimensione):

function SortStringArray(arrStrings)
dim strBuf
' controlla che arrStrings sia effettivamente un array
if isarray(arrStrings) Then
dim i, j
' per ogni stringa dell'array
for i=0 to ubound(arrStrings)-1
' scorri tutte le stringhe dell'array che non sono ancora ordinate
for j=0 to ubound(arrStrings)-1-i
' se la stringa attuale è "maggiore" della stringa successiva...
if arrStrings(j)>arrStrings(j+1) then
' ...inverti la posizione delle due stringhe
strBuf = arrStrings(j+1)
arrStrings(j+1) = arrStrings(j)
arrStrings(j) = strBuf
end if
next
next
end if
SortStringArray = arrStrings
end function

Nessun commento: