Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge

Java-Programmierung

Henry Lozze / 3 Antworten / Baumansicht Nickles

Wer kann mir helfen ein BubbleSort-Programm mit Java zu erstellen? Das Problem bei mir ist die äußere Schleife. Dazu noch folgendes, es dürfen nur while- und if-Schleifen benutzt werden.

bei Antwort benachrichtigen
T-Rex Henry Lozze „Java-Programmierung“
Optionen

public static void sortiere(int[] a)
{
    boolean sortiert = false;
    int Count = 0;
    int tmp;

    while (!sortiert)
    {
        sortiert = true;
        Count = 0;

        While Count         {
            if (a[Count] > a[Count + 1])
            {
                tmp = a[Count];
                a[Count] = a[Count + 1];
                a[Count + 1] = tmp;
                sortiert = false;
            }

            Count++;
        }
    }
}



Das sollte so funzen
 GrüßeT-Rex 
bei Antwort benachrichtigen
Dreamforger T-Rex „ public static void sortiere int a boolean sortiert false int Count 0 int tmp...“
Optionen

Als Informatiker muss ich da einfach noch meinen Senf dazugeben:

Nach dem ersten Durchlauf ist das größte Element von a an der letzten Position.
Im n.ten Durchlauf wird das n-größte Element auf die n-letzte Position geschoben. Unter keinen Umständen weiter.
Daher kannst du eigentlich den n-ten Durchlauf um n Elemente verkürzen.

Du brauchst eine neue Variable die zählt wie oft du schon sortiert hast
int sortrun = 1;
und ersetzt die obige schleife
while (count {
  ...
}

durch
while (count {
  ...
}
sortrun++;

Nicht das es groß was ausmacht...
Für eine ausreichend große Datenmenge brauchst du jetzt nicht mehr 2 sondern nurnoch 1 Jahr... wo andere Algorithmen ungefähr ne Minute rechnen. Aber aller Anfang ist schwer... und langsam

Lass dich nicht entmutigen, viel Erfolg Raphael

Dreamforger

bei Antwort benachrichtigen
T-Rex Dreamforger „Als Informatiker muss ich da einfach noch meinen Senf dazugeben: Nach dem ersten...“
Optionen

Moin,

diese Anmerkung ist sicher richtig.

Aber es handelt sich hierbei um eine Optimierung, die nicht zum eigentlichen BubbleSort-Algorithmus gehört.

Aber trotzdem Danke für diesen Tip.

 GrüßeT-Rex 
bei Antwort benachrichtigen