Die Variante mit zwei for-Schleifen ist ja komplett Banane, die hab ich hier unter den Tisch fallen lassen.

Ich möchte jetzt keinen Contest entfachen, aber wenn ich Bubblesort irgendwo verwende, dann mit zwei For-Schleifen. Das ist
imho kompakter und es ist eh Banane, weil ich das nur für sehr kleine Arrays einsetze.
Straight insertion wäre noch schneller, aber .. wie gesagt: Krumme gelbe Frucht.
Die äußere While-Schleife ist vielleicht sogar auch im Mittel schneller, aber -damned- ich kann sie mir einfach nicht merken