Werte im Array sortieren

canyakan95

Bekanntes Mitglied
Hallo
meine aufgabe ist es die zahlen im array zu sortieren.
Aber mein programm sortiert nur die ersten beiden zahlen und hört damit auf..Habt ihr vllt einen Vorschlag oder Verbesserung für mich ..

Code:
Java:
    public static int[] sortieren (int []arr)
    {
        int temp;
        for(int i=1;i<arr.length;i++)
        {
            if(arr[i-1]>arr[i])
            {
                temp= arr[i];
                arr[i]=arr[i-1];
                arr[i-1]=temp;
            }
        }
        return arr;
    }
 
Aber eigentlich, falls erlaubt, kannst du auch aus der aus der Klasse java.util.Arrays die Methode Arrays.sort(dasZuSortierendeArray) nutzen 😀
Die übernimmt das ganze😀
 
Zuletzt bearbeitet:
Hallo
nein das darf ich leider nicht verwenden.
Wie meinst du das denn mit der geschachtelten Schleife..Kannst du mir das vllt mal zeigen bitte.
Mfg
 
Hallo habe das ma iwo anders gefunden wollte aber was fragen zum code :
Java:
    public static int[] sortieren (int []arr)
    {
        int temp;
        for(int i=1;i<arr.length;i++)
        {
            for(int j=0;j<arr.length-i;j++)
            {
                if(arr[j]>arr[j+1])
                {
                    temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
        }
        return arr;
    }

Was bedeutet die Zeile : j<arr.length-i;

MFg
 
Du gehst in der inneren Schleife nicht mehr bis zum Ende des Arrays durch.
Nachdem die äußere for-Schleife einmal durchgelaufen ist, ist das letzte Element im Array an der richtigen Position.

Deswegen vergleichst du nur Werte bis arr.length-i, weil die "i" - Zahlen dahinter schon sortiert sind.
 
Zuletzt bearbeitet:

Zurück
Oben