Sehr geehrte Damen und Herren,
ich habe einen Algorithmus geschrieben, der große Anzahlen von Einträgen ordnen und sortieren kann. Es wird ein pyramidenförmiges Verzeichnis erstellt, indem die Einträge und Gruppen untereinander verschoben werden.
Ich stelle den Algorithmus in Form von C++-Templates über
GitHub bereit.
Funktionsweise

|
Die Einträge werden in Gruppen zusammengefasst. |
|

|
Die Anzahl der Einträge in einer Gruppe ist begrenzt und wird standardmäßig auf 100 festgelegt. |
|

|
Ist die Gruppe voll, wird eine neue übergeordnete Gruppe erstellt. Beim Sortieren werden in dieser Gruppe der erste und der letzte Eintrag vermerkt. |
|

|
Der erste und der letzte Eintrag einer Gruppe können in die Nachbargruppe verschoben werden. |
|

|
Die Einträge werden zwischen den Gruppen verschoben, damit alle Gruppen möglichst voll werden. |
|

|
Auch die Anzahl der Gruppen ist begrenzt, es wird wieder eine übergeordnete Gruppe erstellt. |
|

|
Wenn Platz in einer vollen Gruppe benötigt wird, kann ein ganzer Zweig verschoben werden. |
Ich hoffe meine Lösung schafft es in die Standardbibliothek.
Mit freundlichen Grüßen,
Sven Bieg