OOP array Sortieren ohne den sort Befehl

Choppski

Mitglied
Hallo Leute, ich mache gerade mein Ausbildung zur Systemintegratorin.
Muss aber in der Schule auch Java Programmierung lernen. Nun habe ich diese Hausaufgabe bekommen, wo wir ein Array mit Zahlen haben, welchen nach der größe sortiert werden soll.
Problem dabei ist, wir sollen sort selber schreiben,
der Tipp von meinem Lehrer:

Java:
for(int n = 0; n<Zahlen.length; n++)
{
if Zahlen [n]<Zahlen[n+1]
......................?

}

genau so hat er es geschrieben. Mein Code dazu ist bis jetzt:

Code:
public class arraySort {

    public static void main(String[] args) {
        int[] Zahlen = new int[4];
        Zahlen[0] = 1111;
        Zahlen[1] = -5;
        Zahlen[2] = 200;
        Zahlen[3] = 255;
        Zahlen[4] = 3157;
       
      
        for (int n = 0; n < Zahlen.length; n++) {
            if Zahlen[n]<Zahlen[n+1]
           
            System.out.println(Zahlen[n]);
        }
    }
}

Könnt ihr mir da helfen? die Zahlen die ich genommen habe, sind übrigens die vorgegebenen Zahlen von meinem Lehrer 😉

Danke schonmal im vorraus
 
Nein, aber mir dabei zu helfen, ich hatte überlegt, dass man das mit

if ([0]<[1]||[2]||[3]||[4]) lösen kann und so alles auflisten, nur meinte mein lehrer das ist falsch, und hätte da gerne ein paar tips zu wie man das eventuell lösen könnte
 
vielleicht könnt ihr mir ja auch einfach nur erklären wie man das am besten macht, ich dachte das ist ein java-forum und man kriegt hilfe wenn man fragt, oder denkanstöße 😉
 
Um jetzt das mal etwas auszuformulieren, was der werte Kollege ohne Worte vorschlägt. Es gibt diverese Sortieralgorithmen, die unterschiedlich funktionieren/performen (würde ich mal bei Wikipedia reinschauen). Du solltest dir da einen aussuchen.

Aber der naivste Algorithmus ist du suchst dir das kleinste/größte Element (je nach auf- oder absteigender Sortierung) und setzt es auf den ersten Platz. Danach rückst du einen Platz nach rechts und beginnst das gleiche Prozedere von vorne, bis kein nachrücken mehr geht (Selectionsort).
 
Hallo Leute, ich mache gerade mein Ausbildung zur Systemintegratorin.
Muss aber in der Schule auch Java Programmierung lernen. Nun habe ich diese Hausaufgabe bekommen, wo wir ein Array mit Zahlen haben, welchen nach der größe sortiert werden soll.
Problem dabei ist, wir sollen sort selber schreiben,
der Tipp von meinem Lehrer:

Java:
for(int n = 0; n<Zahlen.length; n++)
{
if Zahlen [n]<Zahlen[n+1]
......................?

}

genau so hat er es geschrieben. Mein Code dazu ist bis jetzt:

Code:
public class arraySort {

    public static void main(String[] args) {
        int[] Zahlen = new int[4];
        Zahlen[0] = 1111;
        Zahlen[1] = -5;
        Zahlen[2] = 200;
        Zahlen[3] = 255;
        Zahlen[4] = 3157;
      
     
        for (int n = 0; n < Zahlen.length; n++) {
            if Zahlen[n]<Zahlen[n+1]
          
            System.out.println(Zahlen[n]);
        }
    }
}

Könnt ihr mir da helfen? die Zahlen die ich genommen habe, sind übrigens die vorgegebenen Zahlen von meinem Lehrer 😉

Danke schonmal im vorraus
hast deine ausbildung absolviert?
 
Dein Lehrer meint du sollst die Werte im Array tauschen, wenn der Wert an Index n größer ist als der Wert an Index n+1. Dann reicht es natürlich nicht aus, wenn du das Array nur einmal durchläufst. Du musst das immer wieder tun, so lange bis nichts mehr getauscht wurde.
Es gibt natürlich effizientere Methoden um ein Array zu sortieren, hier geht es rein um den Lerneffekt. Deshalb musst du dich da selbst durchwursteln. Denn du willst es ja lernen.

Da ist schon mal der erste Fehler:
Java:
int[] Zahlen = new int[4];
        Zahlen[0] = 1111;
        Zahlen[1] = -5;
        Zahlen[2] = 200;
        Zahlen[3] = 255;
        Zahlen[4] = 3157;
 

Zurück
Oben