Sattolo's algorithm for random permutations

https://danluu.com/sattolo/