16. september 2003 - 09:47Der er
11 kommentarer og 1 løsning
Sorter array
Hejsa. Jeg har et array som indeholder Double tal. Jeg vil gerne sortere indholdet af dette array, så det første element i array'et indeholder det tal som er størst, osv. Nogen som kan hjælpe?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Den bedst måde at sortere på er at benytte CombSort. Den er næsten lige så hurtig som QuickSort, men er meget simpel.
sub Sort(A) 'Denne procedure sorterer arrayet, som 'overføres ved reference. 'Det er metoden CombSort, der benyttes. 'Den er næsten lige så hurtig som QuickSort dim n, gap,OK,i,j,tmp 'tabellen A sorteres. CombSort n=Ubound(A) gap = n ok = True While ok If gap < 1 Then gap = 1 ok = (gap <> 1) For i = 0 To n - gap j = i + gap If A(i) > A(j) Then tmp = A(j): A(j) = A(i): A(i) = tmp ok=true End If Next gap = Int(gap / 1.33) 'Tallet 1.33 er bedst Wend end sub
Hvis du har et array Q, så vil ordren Sort Q resultere i, at nu er Q sorteret.
Jeg smed indholdet over i et 2 dimensionalt array, og brugte eagleeye's første løsning.
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.