Hallo,
ich bin Java Anfänger und hänge derzeit an einer Aufgabe fest.
Und zwar soll das ganze so aussehen:
Für mich sieht es aus wie ein MergeSort, oder liege ich da falsch? Bei dem wird ja quasi das Array geteilt, wobei in dieser Aufgabe nur die Werte geteilt werden sollen und eben nicht das Array. Dies umzusetzen fällt mir sehr schwer. Ich weiß, dass ich das Array mit den Werten implementieren muss, sprich
und als Variable bspw. int teilSequenz;
nun gehts an die Methode, die die Werte des Arrays eben in die teilSequenzen teilt und genau an dieser Stelle komme ich nicht weiter. Ich habe keine Ahnung wie diese Methode auszusehen hat, ich kann mir momentan auch noch nichts darunter vorstellen und im www finde ich auch nichts zu diesem Thema.
Ich würde mich freuen, wenn vielleicht jemand einen Tipp für mich hat.
Vielen Dank schon einmal und LG.
ich bin Java Anfänger und hänge derzeit an einer Aufgabe fest.
Und zwar soll das ganze so aussehen:
Sortieren Sie das folgende Feld mit 12 Werten.
98 23 77 33 76 24 95 18 76 23 66 11
Initial erhalten wir 6 Teilsequenzen mit je zwei Werten, die wir mit Sortieren durch Einfügen sortieren.
98 95 → 95 98
23 18 → 18 23
77 76 → 76 77
33 23 → 23 33
76 66 → 66 76
24 11 → 11 24
Dabei werden die Werte nicht umkopiert, sondern bleiben an Ihrer Stelle im Feld. Betrachten wir das ursprüngliche Feld, dann sehen wir
95 18 76 23 66 11 98 23 77 33 76 24
Nach dem Sortieren mit Abstand 3 von Feldern der Länge 4 erhalten wir
23 18 11 33 23 24 95 66 76 98 76 77
Nach dem Sortieren mit Abstand 1 von einem Feld der Länge 12 erhalten wir
11 18 23 23 24 33 66 76 76 77 95 98
Hinweis 3. Verwenden Sie als Datenstrukturen nur Grundtypen und Felder. Verwenden Sie nur static-Methoden. Vermeiden Sie globale Variablen (Klassenvariablen). Versuchen Sie unnötige Speicherallokation zu vermeiden. Importieren Sie adstool.jar als einzige JAR-Datei in Ihr Pro- jekt. Für die Analysen ist es sinnvoll und ausreichend handschriftliche Anlagen zu verwenden.
Für mich sieht es aus wie ein MergeSort, oder liege ich da falsch? Bei dem wird ja quasi das Array geteilt, wobei in dieser Aufgabe nur die Werte geteilt werden sollen und eben nicht das Array. Dies umzusetzen fällt mir sehr schwer. Ich weiß, dass ich das Array mit den Werten implementieren muss, sprich
Java:
int [] werte = {98, 23, 77, 33, 76, 24, 95, 18, 76, 23, 66, 11};
und als Variable bspw. int teilSequenz;
nun gehts an die Methode, die die Werte des Arrays eben in die teilSequenzen teilt und genau an dieser Stelle komme ich nicht weiter. Ich habe keine Ahnung wie diese Methode auszusehen hat, ich kann mir momentan auch noch nichts darunter vorstellen und im www finde ich auch nichts zu diesem Thema.
Ich würde mich freuen, wenn vielleicht jemand einen Tipp für mich hat.
Vielen Dank schon einmal und LG.