Avatar billede thundergod Nybegynder
01. marts 2004 - 10:00 Der er 2 kommentarer og
1 løsning

Sortering af Vector, uden brug af Collections.sort(vectorNavn)

Jeg udvikler i J2ME MIDP2.0 og skal sortere en vector.
Der er komplekse objekter i, men at sortere på toString() er tilstrækkeligt.
Problemet er at i MIDP er der ikke "Collections.sort(List list)";
Er der nogen der har en hurtig effektiv algoritme til at sortere den lille vector med?

Info: Vectoren består af ca. 0-25 objekter.
Avatar billede arne_v Ekspert
01. marts 2004 - 10:14 #1
List -> simpelt array
bubble sort eller lignende på simpelt array
simpelt array -> List

vil jeg tro.
Avatar billede thundergod Nybegynder
01. marts 2004 - 10:19 #2
Nu er der, desværre, ikke så meget anvendeligt i MIDP API, til sortering.
Så har du en lille hurtig bubblesort?
Avatar billede arne_v Ekspert
01. marts 2004 - 10:31 #3
import java.util.*;

public class BS {
    public static void main(String[] args) {
        List lst1 = new ArrayList();
        lst1.add("CCC");
        lst1.add("BB");
        lst1.add("A");
        System.out.println(lst1);
        String[] sa = new String[lst1.size()];
        for(int i = 0; i < sa.length; i++) sa[i] = (String)lst1.get(i);
        for(int i = 0; i < (sa.length-1); i++) {
            for(int j = (i+1); j < sa.length; j++) {
                if(sa[i].compareTo(sa[j]) > 0) {
                    String temp = sa[i];
                    sa[i] = sa[j];
                    sa[j] = temp;
                }
            }
        }
        List lst2 = new ArrayList();
        for(int i = 0; i < sa.length; i++) lst2.add(sa[i]);
        System.out.println(lst2);
    }
}
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester