A permutation is a list in which each element occurs only once. If the members of the permutation have values , where is the length of the permutation, then you can think of a permutation as an "onto" ("surjective") function of the set to itself. If you successively apply this function to any member of the set, you obtain its "cycle" or "orbit". This Demonstration shows how you can write a permutation as a list of these cycles and how these cycles can be visualized as a graph.

This Demonstration uses its own code and the Sow/Reap construct as well as NestWhile to find the cycles of a permutation. The Combinatorica package contains alternative code for finding cycles that has a more "procedural" style.