Algorithmen zum Sortieren

endi

Grünschnabel
Hallo,

hab eine Methode, die das Array sortiert zurück gibt, aber hab nicht verstanden Wie es funktioniert, kann jemand villeicht erklären Wie es funktioniert?Was in jede zeile passiert.danke im voraus.




Code:
    public static int[] sortieren(int[]array){

        int i = 0;
        
            while (i<array.length/2){
            
                int t = array[i];
                array[i] = array[array.length-1-i];
                array[array.length-1-i] = t;
                i=i+t;
            }
            
       return array;
        }
 
hab eine Methode, die das Array sortiert zurück gibt

Nein. Hast du den Code mal getestet, den du gepostet hast? Der macht irgendwas, aber keine Sortierung. Der vertauscht ein paar Werte im Array, das aber auch ohne Sinn, denn je nach Größe des Inhalts des Arrays läuft die Schleife evtl. nur ein einziges Mal durch. Oder auch unendlich oft.

Edit: Trotzdem kann ich dir erklären, was die Zeilen machen.

Java:
public static int[] sortieren(int[]array){
	//Variable i anlegen und mit dem Wert 0 initialisieren
	int i = 0;
	
	//Eine Schleife die so lange läuft, wie die Variable i kleiner ist als die halbe Länge des Arrays
	while (i<array.length/2){
		//Die nächsten drei Zeilen sind eine klassische Vertauschung.
		
		//1. Temporäre Variable nehmen, um Wert zu merken
		int t = array[i];
		
		//2. Zuweisen eines andere Wertes an die Stelle, an der wir uns den Wert gemerkt haben
		array[i] = array[array.length-1-i];
		
		//3. Den in 1. gemerkten Wert an die andere Stelle schreiben
		array[array.length-1-i] = t;
		
		//Hier wird i um den Wert t erhöht. t ist der Wert den wir in 1. gemerkt haben
		i=i+t;
	}
	
	return array;
}
 
Zuletzt bearbeitet:
Der macht irgendwas, aber keine Sortierung.

ich habe nicht getestet, was soll ich dazu schreiben damit es sortiert? ich brauche eigentlich eine Methode public static int[] sortieren(int[]array), die das Array sortiert und zurück gibt.
 
Wer es etwas weniger trocken mag, kann hier den Bubblesort als Tanz bewundern:

 
Zuletzt bearbeitet von einem Moderator:
Zurück