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?
Støv, fibre og metalliske partikler kan påvirke både uptime, levetid og driftssikkerhed. Derfor arbejder flere datacentre systematisk med contamination control.
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.