Da vorhin die Zeit etwas knapp war, habe ich den Code jetzt noch einmal herangenommen, angepasst und dokumentiert, damit er leichter verstänglich ist.
Hinweis: Das ist eine der einfachsten und(!) bekanntesten Implementationen, sollte aber einen einfachen Start geben
...

...