Algorithmus von InsertSort
- 主要语言
- C#
- 星标
- 1
- 派生
- 0
- PR 合并指标
- 30 天内没有已合并 PR
描述
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;
}
```
贡献指南
这个仓库没有索引到贡献指南
评估
这个 Issue 还没有评估数据。