webForumDet fria alternativet

Sortera arrays

6 svar · 308 visningar · startad av joakimweb

joakimwebMedlem sedan feb. 2002141 inlägg
#1

Hejsan!

Jag behöver sortera en array med 2 dimensioner. Har hittat ett script där man kan sortera vanliga arrays, men jag behöver ett för 2d arrays.

<%
  Option Explicit

  Dim MyArray, I
  MyArray = Array(1,5,"olle","adam","linda",123,12,98)
  MyArray = Sort(MyArray)
  For I = 0 to Ubound(MyArray)
    Response.Write MyArray(I) & "<br>" & vbCRLF
  Next
  Response.End

  ' En funktion som sorterar en Array
Function Sort(ary)

    Dim KeepChecking
    Dim I
    Dim FirstValue, SecondValue

    KeepChecking = TRUE
    Do Until KeepChecking = FALSE
        KeepChecking = FALSE
        For I = 0 to UBound(ary)
            If I = UBound(ary) Then Exit For
            If ary(I) > ary(I+1) Then
                FirstValue = ary(I)
                SecondValue = ary(I+1)
                ary(I) = SecondValue
                ary(I+1) = FirstValue
                KeepChecking = TRUE
            End If
        Next
    Loop
    Sort = ary
End Function
%>

Så ser koden ut till 1d-arrayens sortering, men hur gör man om det till att klara 2d array?

Tack på förhand!

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Hur skall sortering fungera? Är alla fält relevanta?

joakimwebMedlem sedan feb. 2002141 inlägg
#3

MyArray(0,x) = hamta2(0)
MyArray(1,x) = hamta2(1)
MyArray(2,x) = RecSet("artnr")
MyArray(3,x) = RecSet("namn")
MyArray(4,x) = RecSet("beskrivning")
MyArray(5,x) = RecSet("pris")
Så är värdena på Arrayen

vill att dom skall sorteras efter namn, alltså 3,x

x motsvarar ett värde som den får ifrån en FOR-slinga.

Hoppas någon kan lösa detta.

PoffeMedlem sedan apr. 20022 743 inlägg
joakimwebMedlem sedan feb. 2002141 inlägg
#5

Tusen tack!

joakimwebMedlem sedan feb. 2002141 inlägg
#6

Men jag tror inte att jag får använda det scriptet i min webshop-applikation, ger ju ut den gratis...

@ndersMedlem sedan juni 200032 969 inlägg
#7

Ok, då ska du få ett par sökord av mig att använda på google eller andra najsiga ställen (4guys, etc): quick sort och bubble sort. Du kan ju leka lite med de mellanslagen också. ;)

Mvh,

256 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
133 ms — hämta forumlista (db)
121 ms — hämta statistik (db)
129 ms — hämta tråd, inlägg och bilagor (db)