Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Sortiranje liste u JAVI

[es] :: Java :: Sortiranje liste u JAVI

[ Pregleda: 6552 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Cyrus_M
Java Script
*****

Član broj: 171771
Poruke: 9
212.39.113.*

ICQ: 69
Sajt: www.*****.gov


Profil

icon Sortiranje liste u JAVI09.03.2008. u 13:48 - pre 195 meseci
Potreban mi je kod za sortiranje liste (odnosno brojeva unutar nje). Nacin i tip sortiranja nisu bitni, samo da program obavlja svoju funkciju i da nije komplikovan!

Bilo kakva pomoc je dobrodosla... !
/
 
Odgovor na temu

anon315

Član broj: 315
Poruke: 1657
*.adsl-1.sezampro.yu.



+13 Profil

icon Re: Sortiranje liste u JAVI09.03.2008. u 13:58 - pre 195 meseci
java.sun.com/j2se/1.5.0/docs/api/java/util/Collections.html#sort(java.util.List)
 
Odgovor na temu

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon Re: Sortiranje liste u JAVI10.03.2008. u 10:01 - pre 195 meseci
Zasto ne koristis TreeSet?

Kada u TreeSet stavis neki element, lista se automatski sortira...

Mozda je jedino lose sto ne dozvoljava duplikate.

Pogledaj, siguran sam da ima i lista koja nema ovo ogranicenje, a automatski sortira, ali - iskreno, zaboravio sam koja je to...

Procitaj i ovo:

http://www.java-tips.org/blog/...ng-collectionssort-method.html

Ako radis sa nekom drugom kolekcijom, a samo stavljas primitivne promjenjive ( int npr) onda ne trebas ni implementirati Comparable nego sortiras samo sa

Code:
Collections.sort(ime_liste);


kao sto ti je i Vanja Petreski dao link vec...
there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

anon315

Član broj: 315
Poruke: 1657
*.adsl-1.sezampro.yu.



+13 Profil

icon Re: Sortiranje liste u JAVI10.03.2008. u 10:50 - pre 195 meseci
Set nije lista. Oboje SU kolekcije. Nije lose sto set ne dozvoljava duplikate, jer je to semantika seta :)

Liste nemaju ovo ogranicenje. I mislim da ne postoji implementacija koja automatski sortira. Eventualno da sam napises SortedArrayList (http://www.koders.com/java/fid...072880A9A3CB1BABB215DA6AE.aspx)

Mada mi se cini da bi posao mogao da zavrsi PriorityQueue...
 
Odgovor na temu

Java Beograd
Novi Beograd

Član broj: 11890
Poruke: 9441
*.dip0.t-ipconnect.de.



+10242 Profil

icon Re: Sortiranje liste u JAVI11.03.2008. u 08:03 - pre 195 meseci
Evo nešto malo koda. Ja ovo sortiranje upotrbljavam svuda i uvek. Objekti ko se sortiraju treba da implamantiraju Sortable - i milina jedna. Dodao sam i za stringove, ima u donjem delu klase.


Za po
Code:

import java.util.*;
public class ObjectQSorter {

    public void sort(Vector v, boolean ascending, int sortKey) {
        int size = v.size();

        Object arr[] = new Object[size];
        for (int i=0; i<size; i++) {
            arr[i] = v.elementAt(i);
        }

        quickSort(arr,0, arr.length -1, ascending, sortKey);

        v.removeAllElements();
        for (int i=0; i<size; i++) {
            v.addElement(arr[i]);
        }
    }

    public void sort(Vector v, int sortKey) {
        sort(v, true, sortKey);
    }
    public void sort(Vector v) {
        sort(v, true, 0);
    }

    private void quickSort(Object a[], int lo0, int hi0, boolean ascending, int sortKey) {
        int lo = lo0;
        int hi = hi0;
        String mid;

        if ( hi0 > lo0) {
            mid = ((Sortable)(a[ ( lo0 + hi0 ) / 2 ])).getSortKey(sortKey);

            while( lo <= hi ) {
                while( ( lo < hi0 )  && (greater(mid,((Sortable) a[lo]).getSortKey(sortKey), ascending))) {
                     ++lo;
                }
                 while( ( hi > lo0 ) && (greater(((Sortable)a[hi]).getSortKey(sortKey),mid, ascending))) {
                     --hi;
                 }

                if( lo <= hi ) {
                    swap(a, lo, hi);
                    ++lo;
                    --hi;
                }
            }

            if( lo0 < hi ) {
                quickSort( a, lo0, hi, ascending, sortKey );
            }

            if( lo < hi0 ) {
                quickSort( a, lo, hi0, ascending, sortKey );
            }
        }
    }


    public void sortStrings(Vector v, boolean ascending) {
        int size = v.size();

        String arr[] = new String[size];
        for (int i=0; i<size; i++) {
            arr[i] = (String) v.elementAt(i);
        }

        quickSortString(arr,0, arr.length -1, ascending);

        v.removeAllElements();
        for (int i=0; i<size; i++) {
            v.addElement(arr[i]);
        }
    }

    public void sortStrings(Vector v) {
        sortStrings(v, true);
    }


    private void quickSortString(String a[], int lo0, int hi0, boolean ascending) {
        int lo = lo0;
        int hi = hi0;
        String mid;

        if ( hi0 > lo0) {
            mid = a[ ( lo0 + hi0 ) / 2 ];

            while( lo <= hi ) {
                while( ( lo < hi0 )  && (greater(mid, a[lo], ascending))) {
                     ++lo;
                }
                 while( ( hi > lo0 ) && (greater(a[hi],mid, ascending))) {
                     --hi;
                 }

                if( lo <= hi ) {
                    swap(a, lo, hi);
                    ++lo;
                    --hi;
                }
            }

            if( lo0 < hi ) {
                quickSortString( a, lo0, hi, ascending);
            }

            if( lo < hi0 ) {
                quickSortString( a, lo, hi0, ascending);
            }
        }
    }

    private void swap(Object a[], int i, int j) {
        Object T;
        T = a[i];
        a[i] = a[j];
        a[j] = T;
    }

    private boolean greater(String s1, String s2, boolean ascending) {
        if (ascending) {
            return (s1.compareTo(s2) > 0 );
        } else {
            return (s1.compareTo(s2) < 0 );
        }
    }
}



A evo i interfeksa Sortable
Code:

public interface Sortable {
    public String getSortKey(int type);
}


OTPOR blokadi ulica, OTPOR blokiranom Beogradu, OTPOR blokiranoj Srbiji
 
Odgovor na temu

Cyrus_M
Java Script
*****

Član broj: 171771
Poruke: 9
212.39.113.*

ICQ: 69
Sajt: www.*****.gov


Profil

icon Re: Sortiranje liste u JAVI13.03.2008. u 12:18 - pre 195 meseci
Ej decki, hvala vam puno, evo vec sam se latio posla... ako jos negdje zapnem javim se!!!


/
 
Odgovor na temu

[es] :: Java :: Sortiranje liste u JAVI

[ Pregleda: 6552 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.