22. juli 2003 - 10:32Der er
7 kommentarer og 1 løsning
Sortering af 2D array
Jeg er gået helt kold i et problem, og har lige brug for lidt hjælp....
Jeg har et 2D String array to kolonner og x antal rækker. Det indeholder aftemnings-resultater i følgende format: I den første række står en række navne, og i den anden række står et tal (castes til en int), der angiver, hvor mange % stemmer, der er kommet på det enkelte navn.
Problemet er nu, at jeg gerne vil ha' resultaterne sorteret efter antal stemmer. Dvs. at tal-rækken skal sorteres, og at navnene stadig skal stå sammen med det rigtige tal.
Jeg har hurtigt skrevet følgende, men han godt se, at hvis to eller flere navne har fået samme antal stemmer, opstår det problemer...
Jeg håber, der er nogen, der forstår problematikken.
String[][] finalArray = new String[array.length][2]; int[] intArray = new int[array.length];
//convert the row of numbers to an array of ints for (int i=0; i<array.length; i++){ intArray[i] = Double.valueOf(array[i][1]).intValue(); }
// //her sorteres int arrayet //
//the intArray is now sorted for (int i=0; i<intArray.length; i++){
//we get each int and find the matching string int number = intArray[i];
finalArray[i][1] = number+"";
boolean f = false; int n = 0; while (n<array.length && !f){ if (Double.valueOf(array[n][1]).intValue() == number){ finalArray[i][0] = array[n][0]; f = true; } n++; } }
Manuelle og semi-automatiske strategier for identitetsstyring virker - lige indtil nogen beder om dokumentation. For at undgå denne fare har DKTV taget kontrol over sin identitets- og adgangsstrategi.
Det problem løser man normalt ved at når man sorterer det ene array, så "slæber man det andet array med" d.v.s. at når man bytter om på element i og i i det array man sorterer efter, så bytter man samtidigt om på element i og j i det array man "slæber med".
arne: lækkert! erik: jeg har desværre ikke mulighed for at anvende dine forslag, da jeg får arrayet fra en servlet, som jeg ikke umiddelbart kan ændre på. Desuden skal det køre i JDK 1.1.8, det ikke har sorterings-funktionaliteterne fra de nyere versioner
For en god ordens skyld: jeg vidste at vi var ovre i manuel sortering fra et tidligere spørgsmål.
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.