14. maj 2003 - 10:04Der er
8 kommentarer og 1 løsning
Sortering skal indbygges i funktion
Jeg har prøvet at indbygge en ellers udemærket bobbelsortering i en funktion, men hvordan egentlig og hvordan kalder jeg den, når jeg har et array lavet af en liste?
Liste = "Theodor¤Jørgen¤Åse¤Hans¤Anders¤Peter" arrListe = split(Liste,"¤")
Function BubbleSort(arrBubbleSort) changed = true do while changed changed = false for i = 1 to ubound(arrBubbleSort) if arrBubbleSort(i-1) > arrBubbleSort(i) then tmp = arrBubbleSort(i-1) arrBubbleSort(i-1) = arrBubbleSort(i) arrBubbleSort(i) = tmp changed = true end if next loop arrBubbleSort(i) = arrBubbleSort End Function
Virker fint her (bemærk en lille ændring ... *g*):
Liste = "Theodor¤Jørgen¤Åse¤Hans¤Anders¤Peter" arrListe = split(Liste,"¤")
Function BubbleSort(arrBubbleSort) changed = true do while changed changed = false for i = 1 to ubound(arrBubbleSort) if arrBubbleSort(i-1) > arrBubbleSort(i) then tmp = arrBubbleSort(i-1) arrBubbleSort(i-1) = arrBubbleSort(i) arrBubbleSort(i) = tmp changed = true end if next loop End Function
BubbleSort arrListe
for each element in arrListe response.write element & "<br>" next
Sub BubbleSort(arrBubbleSort) changed = true do while changed changed = false for i = 1 to ubound(arrBubbleSort) if arrBubbleSort(i-1) > arrBubbleSort(i) then tmp = arrBubbleSort(i-1) arrBubbleSort(i-1) = arrBubbleSort(i) arrBubbleSort(i) = tmp changed = true end if next loop End Sub
BubbleSort arrListe
for each element in arrListe response.write element & "<br>" next
response.write "<br><br>"
BubbleSort arrTidsListe
for each element in arrTidsListe response.write element & "<br>" next
Det stikker lidt dybere....Den helt rigtige forklaring er, at sætter man paranteser omkring et udtryk, der buges som parameter til en sub, så overføres den som call-by-value. Og så får du ikke ændringer i arrayet tilbage.
BubbleSort (arrTidsListe)
Uden paranteser overføres som call-by-reference.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.