{
"llm" : {
"feedback" : "Exercise: sortalgs\n\n## 1. Correctness\n- In `SelectionSort`, dein Algorithmus implementiert nicht korrekt Selection Sort: Du suchst keinen Index des Minimums/Maximums im unsortierten Bereich und machst nicht genau **einen** Swap pro Außenschleifen-Durchlauf, sondern führst potenziell viele Swaps aus.\n- In `SelectionSort`, durch das sofortige Swappen innerhalb der inneren Schleife wird das Element an Position `max` mehrfach verändert, während du noch weiter vergleichst; dadurch ist das Ergebnis nicht garantiert sortiert.\n\n## 2. Suggestion\n- Überlege dir beim Selection Sort: Was ist die zentrale Idee pro Durchlauf? (Ein bestimmtes Element—z.B. das kleinste oder größte—im aktuellen unsortierten Bereich finden, seinen **Index merken**, und erst danach an die richtige Position tauschen.)\n- Versuche in der inneren Schleife statt zu swappen nur einen Kandidaten-Index (z.B. `min` oder `maxIndex`) zu aktualisieren, und mache den `swap` erst nach Abschluss der inneren Schleife.\n- Prüfe auch die Grenzen: Wenn du von hinten sortierst (mit `max`), dann muss die innere Schleife den gesamten Bereich `0..max` nach dem größten Element durchsuchen (bzw. `0..max` nach dem kleinsten, wenn du vorne aufbaust) und nicht bei jedem “größer/gleich”-Fund direkt tauschen.\n\n## 3. Code Style\n- In `SelectionSort` sind die Klammern inkonsistent (öffnende `{` teils in neuer Zeile, teils nicht). Einheitlicher Stil erhöht Lesbarkeit.\n- `data.size()` wird in Schleifenbedingungen wiederholt aufgerufen; speichere es (wie beim Beispiel) einmal in einer lokalen Variable, das macht den Code übersichtlicher.\n",
"status" : "SUCCESS"
}
}