ASP: Sortiranje dvodimenzionalnog array-a
Problem: imamo dvodimenzionalni array i želimo ga sortirati od najveće prema najmanjoj vrijednosti
Dim myArray(14,2) myArray(0,0)=1 myArray(0,1)=84 myArray(1,0)=2 myArray(1,1)=87 myArray(2,0)=3 myArray(2,1)=100 myArray(3,0)=4 myArray(3,1)=89 myArray(4,0)=5 myArray(4,1)=68 myArray(5,0)=7 myArray(5,1)=93 myArray(6,0)=6 myArray(6,1)=84 myArray(7,0)=8 myArray(7,1)=91 myArray(8,0)=9 myArray(8,1)=81 myArray(9,0)=10 myArray(9,1)=91 myArray(10,0)=11 myArray(10,1)=89 myArray(11,0)=12 myArray(11,1)=77 myArray(12,0)=13 myArray(12,1)=91 myArray(13,0)=14 myArray(13,1)=91 myArray(14,0)=15 myArray(14,1)=89
Rješenje:
For i = LBound(myArray) to UBound(myArray) For j = LBound(myArray) to UBound(myArray) - 1 If myArray(j,1) < myArray(j + 1,1) Then TempValue = myArray(j + 1,1) TempText = myArray(j + 1,0) myArray(j + 1,1) = myArray(j,1) myArray(j + 1,0) = myArray(j,0) myArray(j,1) = TempValue myArray(j,0) = TempText End If Next Next
Rezultat:
myArray(0,0)=3 myArray(0,1)=100 myArray(1,0)=7 myArray(1,1)=93 myArray(2,0)=8 myArray(2,1)=91 myArray(3,0)=10 myArray(3,1)=91 myArray(4,0)=13 myArray(4,1)=91 myArray(5,0)=14 myArray(5,1)=91 myArray(6,0)=4 myArray(6,1)=89 myArray(7,0)=11 myArray(7,1)=89 myArray(8,0)=15 myArray(8,1)=89 myArray(9,0)=2 myArray(9,1)=87 myArray(10,0)=1 myArray(10,1)=84 myArray(11,0)=6 myArray(11,1)=84 myArray(12,0)=9 myArray(12,1)=81 myArray(13,0)=12 myArray(13,1)=77 myArray(14,0)=5 myArray(14,1)=68