Generation of Permutations in Lexicographic Order (Algorithm 323 [G6])
CACM February, 1968 
Ord-Smith, R. J.
