Create all permutations of an array.
The items that need to find a location. Initially all items are here.
The items that are already in the correct place. Initially this is empty. New items will be added to the end of this list.
Something you can iterate over to get all permutations of the original array.
Create all permutations of an array.