Java Arrays sortieren?

Status
Für weitere Antworten geschlossen.

FrazeColder

Lt. Commander
Registriert
Okt. 2013
Beiträge
1.721
Hey Community,

Ich bräuchte mal einen kleinen Denkansatz.
Die Aufgabe ist, das eingegebene Array zu sortieren.

Mein Vorhandenes Wissen, mit dem ich die Aufgabe Lösen muss:
- Variablen und Ausdrücke
- Bedingte Anweisungen und Schleifen
- Methoden
- Arrays

So sieht der Quellcode bisher aus:
Code:
package Uebung_5;

import java.io.IOException;
import support.Console;

public class Selection_Sort {

	public static void main(String[] args) throws IOException {

		Console.print("Wie viele Felder soll ihr Array sein?: ");

		int eingabe = Console.readInt();
		int[] feld = new int[eingabe];

		for (int i = 0; i < feld.length; i++) {
			Console.print("Feld [" + i + "] -> ");
			feld[i] = Console.readInt();
		}
		Console.println();
		Console.println("Das Array sieht so aus:");

		for (int j = 0; j < feld.length; j++) {
			Console.print("[" + feld[j] + "], ");
		}

		int kleinsteZahl = feld[0];

		Console.println();
		Console.println();
		Console.println("Kleinste Zahl: " + kleinsteZahl);
		Console.println();
		Console.println("Sortieren");

		for (int i = 0; i < feld.length; i++) {

			if (feld[i] < kleinsteZahl)
				kleinsteZahl = feld[i];
		}
		
		for (int o = 0; o < feld.length; o++) {
			Console.print("[" + feld[o] + "], ");
		}

	}
}

MFG und Danke
 
Und mal wieder ein Hausaufgaben Thread =) ... bevor er zu is, schnell noch ein Tipp geben ...

Such dir einen Sortier-Algorithmus deiner Wahl bei Google raus, lesen, verstehen, implementieren ... oder gleich eines von den 3000 Quellcode-Beispielen kopieren.
 
Ich möchte aber verstehen und nicht copy&paste. Kann ich ja in der Arbeit auch nicht und werde sonst gefragt, wie ich die Algorithmus "erfunden" habe.
 
dein code sieht ja schonmal nicht so schlecht aus.

Du findest zwar jeweils in der for schleife die kleinste Zahl, machst damit aber nichts.

Du könntest ein neues Array erstellen, und dort jeweils die kleinste zahl aus dem Ursprungsarray löschen und dann an die nierigste freie Position des neuen arrays setzen und dann dieses neue array am Ende ausgeben.

Wenn du unbedingt das Ursprungsarray sortieren musst, musst du eben jeweils die kleinste zahl an die entsprechende stelle setzen und den bisherigen Wert auf dieser Positition ion einer variable zwischenspeichern.
 
Zuletzt bearbeitet:
Erstens:

Wenn es Selection Sort sein soll (zumindest heißt Deine Klasse so), dann gibt es dazu tonnenweise Literatur, YouTube Videos, Webseiten, ... ∞ Gerade bei Sortier-Algorithmen wird das Verständnis eher auf einer abstrakten Ebene entwickelt; das umsetzen ist dann nur noch handwerkliches Geschick.



Zweitens: Gewöhne Dir besser direkt von Anfang an 'sauberes' Programmieren an. D.h. vor allem, Eingabe/Ausgabe, Daten und Datenverarbeitung voneinander zu trennen. Klingt abgedroschen, ich weiß, aber gerade letzteres wird mit zunehmender Komplexität Deiner Programme fast unumgänglich. ;)
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben