Permute the elements of an array following given order
A permutation is a rearrangement of members of a sequence into a new sequence. For example, there are 24 permutations of [a, b, c, d]. Some of them are [b, a, d, c], [d, a, b, c] and [a, d, b, c]. A permutation can be specified by an array P[] where P[i] represents the location of the element at ind