Source: http://lyceeomar.atspace.cc/CoursAlgorithmes_Tri.pdf