AutoFeedback API

Result 96068e39-51a4-43c6-b54d-a4721caa9680

{
  "llm" : {
    "feedback" : "# Exercise: sortalgs\n\n### Correctness\n- In `InsertionSort.run(...)` wird zwar eine Position per binärer Suche bestimmt, aber es werden keine Elemente verschoben/geswapt; dadurch bleibt die Datenfolge unverändert und ist am Ende nicht sortiert.\n- In `InsertionSort` verwendest du in `data.less(m, i)` den Index `i` als Referenz, erhöhst `i` aber danach sofort; ohne anschließendes Einfügen des Elements an die gefundene Stelle erfüllt das nicht die Anforderungen eines InsertionSort (sortieren durch Einfügen).\n\n### Suggestion\n- Überlege beim InsertionSort: Nachdem du die Einfügeposition `h` (oder `l+1`) gefunden hast, was muss mit dem Element an Index `i` passieren, damit es tatsächlich dort landet? Mit den gegebenen Operationen (`less`, `swap`) erreichst du das nur über eine Folge von Swaps, die das Element schrittweise nach links (oder passende Richtung) bewegt.\n- Prüfe den klassischen InsertionSort-Ablauf: Er besteht nicht nur aus “Position finden”, sondern aus “Element in den bereits sortierten linken Teil einfügen”. Formuliere dir dafür eine Invariante: “Bereich `0..i-1` ist sortiert” – und dann welche Operationen nötig sind, damit das nach dem Schritt für `i` wieder gilt.\n\n### Code Style\n- In `SelectionSort` ist ein großer auskommentierter Block enthalten; den solltest du entfernen oder in eine separate Version/Commit auslagern, damit der Code übersichtlich bleibt.\n- In `InsertionSort` sind die Variablennamen (`l`, `h`, `m`) sehr knapp; etwas sprechendere Namen (z.B. `low/high/mid` oder `left/right`) würden die Lesbarkeit deutlich verbessern.\n- In `InsertionSort` wäre ein kurzer Kommentar hilfreich, dass du eine binäre Suche für die Einfügeposition machst (und an welcher Stelle dann das Einfügen stattfinden sollte).\n",
    "status" : "SUCCESS"
  }
}