Hallo zusammen,
ich habe mir einen Algorithmus ausgedacht um ein Array mit 10 Speicherplätzen (0-9) der Größe nach zu sortieren. Hierbei soll zunächst das ganze Array durchlaufen werden um das Minimum zu suchen und an die erste Stelle zu setzen. Anschließend soll das Array ab der zweiten Stelle nach dem nächsten Minimum durchsucht werden um dieses dann an die zweite Stelle zu schreiben usw.. Meine bisherige Methode sieht so aus:
Leider kommt es beim Ausführen der Methode zum Überschreiten der Arraygrenzen für die Variabel i. Sie nimmt wohl den Wert 10 an und die Ausführung wird abgebrochen. Wieso kann die Variable i den Wert 10 annehmen, wenn sie doch von z abhängt und meiner Ansicht nach max. den Wert 9 annehmen kann?
Wäre schön wenn jemand von euch Spezialisten mal einen kurzen Blick auf meine Methode werfen könnte um den Fehler zu finden. Ich bin fast am verzweifeln.
Viele Grüße
Leines
ich habe mir einen Algorithmus ausgedacht um ein Array mit 10 Speicherplätzen (0-9) der Größe nach zu sortieren. Hierbei soll zunächst das ganze Array durchlaufen werden um das Minimum zu suchen und an die erste Stelle zu setzen. Anschließend soll das Array ab der zweiten Stelle nach dem nächsten Minimum durchsucht werden um dieses dann an die zweite Stelle zu schreiben usw.. Meine bisherige Methode sieht so aus:
Code:
// Methode zum Sortieren zum Algorithmus a.)
public void sortierenMitMinimum()
{
int z=0;
int i = 0;
int y = 0;
for (z=0 ; z<feld.length ; z++)
{
int minimum = feld[z];
for(i=z; i<feld.length;i++)
{
if (feld[i]<minimum)
{
minimum = feld[i];
}
}
y = feld[z];
feld[z] = feld[i];
feld[i] = y;
}
}
Wäre schön wenn jemand von euch Spezialisten mal einen kurzen Blick auf meine Methode werfen könnte um den Fehler zu finden. Ich bin fast am verzweifeln.
Viele Grüße
Leines