Source: https://lewebpedagogique.com/mathsgignac/files/2011/07/cours-tri-5.pdf