// output of ./demo/comb/cyclic-perm-gray-demo.cc: // Description: //% Generate all cyclic permutations in minimal-change order, CAT algorithm. arg 1: 5 == n [Cyclic permutations of n elements, n >= 2.] default=5 0: [ 4 0 1 2 3 ] [ . . . ] (4, 3, 2, 1, 0) 1: [ 3 4 1 2 0 ] [ 1 . . ] (4, 0, 3, 2, 1) 2: [ 3 0 4 2 1 ] [ 2 . . ] (4, 1, 0, 3, 2) 3: [ 3 0 1 4 2 ] [ 3 . . ] (4, 2, 1, 0, 3) 4: [ 2 3 1 4 0 ] [ 3 1 . ] (4, 0, 2, 1, 3) 5: [ 2 3 4 0 1 ] [ 2 1 . ] (4, 1, 3, 0, 2) 6: [ 2 4 1 0 3 ] [ 1 1 . ] (4, 3, 0, 2, 1) 7: [ 4 3 1 0 2 ] [ . 1 . ] (4, 2, 1, 3, 0) 8: [ 4 0 3 1 2 ] [ . 2 . ] (4, 2, 3, 1, 0) 9: [ 2 4 3 1 0 ] [ 1 2 . ] (4, 0, 2, 3, 1) 10: [ 2 0 4 1 3 ] [ 2 2 . ] (4, 3, 1, 0, 2) 11: [ 2 0 3 4 1 ] [ 3 2 . ] (4, 1, 0, 2, 3) 12: [ 1 2 3 4 0 ] [ 3 2 1 ] (4, 0, 1, 2, 3) 13: [ 1 2 4 0 3 ] [ 2 2 1 ] (4, 3, 0, 1, 2) 14: [ 1 4 3 0 2 ] [ 1 2 1 ] (4, 2, 3, 0, 1) 15: [ 4 2 3 0 1 ] [ . 2 1 ] (4, 1, 2, 3, 0) 16: [ 4 3 0 2 1 ] [ . 1 1 ] (4, 1, 3, 2, 0) 17: [ 1 4 0 2 3 ] [ 1 1 1 ] (4, 3, 2, 0, 1) 18: [ 1 3 4 2 0 ] [ 2 1 1 ] (4, 0, 1, 3, 2) 19: [ 1 3 0 4 2 ] [ 3 1 1 ] (4, 2, 0, 1, 3) 20: [ 3 2 0 4 1 ] [ 3 . 1 ] (4, 1, 2, 0, 3) 21: [ 3 2 4 1 0 ] [ 2 . 1 ] (4, 0, 3, 1, 2) 22: [ 3 4 0 1 2 ] [ 1 . 1 ] (4, 2, 0, 3, 1) 23: [ 4 2 0 1 3 ] [ . . 1 ] (4, 3, 1, 2, 0)