Source: http://perso.eleves.ens-rennes.fr/people/julie.parreaux/fichiers_agreg/info_lecons/903_AlgoTris.pdf