https://code.likeagirl.io/5-essential-sorting-algorithms-you-should-know-for-your-next-coding-interview-ffc048b0c95a