Kleinste Ziffer im Array suchen um Sortierung zu erzeugen

Adrjan

Mitglied
Hallo zusammen,

ich möchte eine Sortierfunktion erstellen, welche den jeweilsten kleinsten Wert eines Arrays sucht und an die erste stelle schreibt und danach den zweitkleinsten wert an die zweite Stelle usw...

Leider stehe ich im Moment komplett auf den Schlauch wie ich das anfangen soll.

Bisher habe ich folgenden Code:

Java:
public static int[] sort(int[] A) { 
          int smallest = Integer.MAX_VALUE;
          int  temp; 
          for(int i =0;i<A.length-1;i++) {
        	 
                  for (int j = i+1; j < A.length; j++) 
                	
                  { 
                        
                       
                        if(smallest > A[j]) {
                            smallest = A[j];
               
                            A[i] = smallest; 

              }
                      
     }                  
                        
   }
         
         
        return A; 

         
    }

Wäre eine Implementierung evtl. über Rekursion möglich? Also das ich in eienr Schleife immer die Berechnung der kleinsten Zahl aufrufe und so mein sortiertes Array aufbaue, oder klappt das auch mit Schleifen? Aber wie setze ich das in der Praxis um?

Ich hoffe mir kann jemand helfen.
Ich freue mich über jede Antwort.

Vielen Dank!
Adrjan
 
Java:
	public static void sort(int[] a) {
		for (int i = 0; i < a.length - 1; i++) { // Ok
			int smallest = Integer.MAX_VALUE; // War am falschen Platz!
			for (int j = i; j < a.length; j++) { // müsste j = i sein, da du das aktuelle Element mitbetrachten musst!
				if (smallest > a[j]) { // Ok.
					smallest = a[j];
					a[j] = a[i]; // Der Tausch wurde vergessen!
					a[i] = smallest;
				}
			}
		}
		// return ist egal, da du das Array manipulierst.
	}

PS: Ja, diese Methode kann auch rekursiv implementiert werden.
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben