Given an array, print all possible permutations.void Permute(vector<char> &arr)
{
if (arr.size() == 0)
return;
PermuteHelper(arr, 0);
}
void PermuteHelper(vector<char> &arr, int index)
{
if (index == arr.size() - 1)
{
for (char c : arr)
cout << c;
cout << endl;
return;
}
for (size_t i = index; i < arr.size(); i++)
{
swap(arr, index, i);
PermuteHelper(arr, index + 1);
swap(arr, index, i);
}
}
void swap(vector<char> &arr, int i, int j)
{
char temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
|