Algorithmus von InsertSort
- Dominant language
- C#
- Stars
- 1
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
https://github.com/aheil/algdat/blob/06b7b908302611c43cddae686f9107f5aa84e3be/sorting/insertsort/Program.cs#L19-L31
Ist glaube ich etwas optimaler, da nicht getauscht wird sondern größere Werte nach rechts gerückt werden:
```
int temp;
// Für jeden Eintrag im Array (außer der erste) ...
for (int index = 1; index < array.length; index++) {
// ... merke den Wert ...
temp = array[index];
int j = index;
// ... und rücke jeden Wert links davon, der größer ist, um ein Feld nach rechts ...
// ... (das Feld des gemerkten Wertes wird dabei überschrieben) ...
while (j > 0 && array[j - 1] > temp) {
array[j] = array[j - 1];
j--;
}
// ... und setze den gemerkten Wert an die Stelle, an der kein Wert mehr nach rechts gerückt wird
array[j] = temp;
}
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.