{
"llm" : {
"feedback" : "Exercise: sortalgs\n\n### 1. Correctness\n- In `InsertionSort`: Dein Algorithmus startet bei `i = 0` und arbeitet immer nur mit dem Paar `(i, i+1)` und danach “back”. Das entspricht nicht der üblichen Insertion-Sort-Iteration über ein wachsendes sortiertes Präfix (ab Index 1). Je nach Daten kann das dazu führen, dass nicht in jedem Schritt garantiert ist, dass die Elemente `0..i` wirklich vollständig sortiert sind.\n- In `InsertionSort`: Durch das `i++` auch nach einem Swap (ohne erneute Prüfung an derselben Stelle) kann es passieren, dass du ein neu entstandenes Inversionspaar an der aktuellen Grenze überspringst (weil du sofort weitergehst, statt denselben Index nochmal zu betrachten).\n\n### 2. Suggestion\n- Überlege dir eine Invariante für Insertion Sort: Nach Schritt `i` soll der Bereich `0..i` sortiert sein. Prüfe, ob dein Vorgehen (Swap mit `i+1` und dann “back”) diese Invariante wirklich immer herstellt, oder ob du dafür den Ablauf/Startindex anpassen musst.\n- Teste gezielt kleine Gegenbeispiele (z.B. 3–5 Elemente), bei denen nach einem Swap an Position `i` rechts davon neue Unordnung entstehen könnte. Wenn du so ein Beispiel findest, beobachte, ob dein `i++` zu früh weitergeht und du deshalb eine nötige Korrektur nicht mehr machst.\n\n### 3. Code Style\n- In `InsertionSort`/`SelectionSort`: Schreibweise wie `data.size()-1` besser mit Leerzeichen (`data.size() - 1`) für Lesbarkeit.\n- In `InsertionSort`: Der Methodenname `back` ist wenig selbsterklärend; ein Name wie „shiftLeft/insertBackwards“ o.ä. würde besser ausdrücken, was passiert.\n- In `SelectionSort`: Variablennamen wie `fix` und `marker` sind etwas kryptisch; aussagekräftigere Namen (z.B. „i“, „minIndex“) erleichtern das Verständnis.\n",
"status" : "SUCCESS"
}
}