Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
  Druckansicht

  JAVA Zufallszahlen nach größe sortieren
Autor Nachricht
    BeitragVerfasst: 08.05.2008 14:18 
Mitglied
Mitglied
Offline

Beiträge: 54
Registriert: 13.11.2005 21:05
Wie bewerkstelligt man das, wenn man nur array, while, if hatte?


Nach oben
 Profil  
 

  
    BeitragVerfasst: 08.05.2008 14:57 
aktives Mitglied
aktives Mitglied
Benutzeravatar
Offline

Beiträge: 695
Registriert: 12.07.2004 21:23
Wohnort: FRIESLAND
Knappe Frage - Knappe Antwort:
http://de.wikipedia.org/wiki/Quicksort


Nach oben
 Profil E-Mail senden  
 

  re: JAVA Zufallszahlen nach größe sortieren
    BeitragVerfasst: 11.05.2008 23:32 
Mitglied
Mitglied
Offline

Beiträge: 54
Registriert: 13.11.2005 21:05
sry aber verstehe bhf


Nach oben
 Profil  
 

  re: JAVA Zufallszahlen nach größe sortieren
    BeitragVerfasst: 12.05.2008 10:32 
aktives Mitglied
aktives Mitglied
Benutzeravatar
Offline

Beiträge: 695
Registriert: 12.07.2004 21:23
Wohnort: FRIESLAND
Code:
Die folgende Funktion quicksort sortiert ein Teilstück des Arrays a vom Index lo bis zum Index hi.

Die Sortierfunktion ist in der Klasse QuickSorter gekapselt. Die Methode sort übergibt das zu sortierende Array an das Array a, setzt n auf dessen Länge und ruft quicksort mit dem unteren Index 0 und dem oberen Index n-1 auf.

Die Hilfsfunktion exchange(i, j) vertauscht die Array-Elemente a[i] und a[j].

Mit den Anweisungen QuickSorter s=new QuickSorter();
s.sort(b);


wird ein Objekt vom Typ QuickSorter erzeugt und anschließend die Methode sort zum Sortieren eines Arrays b aufgerufen. Es folgt das Programm.

public class QuickSorter
{
    private int[] a;
    private int n;

    public void sort(int[] a)
    {
        this.a=a;
        n=a.length;
        quicksort(0, n-1);
    }

    private void quicksort (int lo, int hi)
    {
        int i=lo, j=hi;
        int x=a[(lo+hi)/2];

        //  Aufteilung
        while (i<=j)
        {   
            while (a[i]<x) i++;
            while (a[j]>x) j--;
            if (i<=j)
            {
                exchange(i, j);
                i++; j--;
            }
        }

        // Rekursion
        if (lo<j) quicksort(lo, j);
        if (i<hi) quicksort(i, hi);
    }

    private void exchange(int i, int j)
    {
        int t=a[i];
        a[i]=a[j];
        a[j]=t;
    }

}    // end class QuickSorter


Quelle (FH Flensburg)

Damit funktionierts


Nach oben
 Profil E-Mail senden  
 

  
    BeitragVerfasst: 12.05.2008 13:48 
ehrenwertes Mitglied
ehrenwertes Mitglied
Benutzeravatar
Offline

Beiträge: 1178
Registriert: 16.04.2005 12:34
Wohnort: Hannover
Quicksort... ui, das hatte ich auch mal irgendwann in der Schule mit Pascal...

jetzt müsste man sich nur noch erinnern *g*

________________________

Das Unsympathische an den Computern ist, daß sie nur ja oder nein sagen können, aber nicht vielleicht.
Brigitte Bardot


Nach oben
 Profil  
 

Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


  Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
RSS-Feed
Impressum und Kontakt
Style created by phpBB3 styles , ziola alveo akuna
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Optimized by SEO phpBB
Deutsche Übersetzung durch phpBB.de