Can anyone suggest an algorithm or function to generate combinations/
permutations of a group of substrings stored in a vector. The
substrings consists of 3 letters and the resulting string combinations
should be of a size that is a multiple of 3.
First, the problem is obfuscated (I suspect, it is homework): the groups of
3 letters just hide the abstract problem of generating permutations and
combinations. So, first take the input data apart and create a
std::vector< std::string >
that stores those groups of three letters.
Now, for permutations, life is easy because STL has next_permutation built
in.
For combinations, note that the problem of enumerating all combinations of
length n from a set of k items is equivalent to listing all n-digit
counting numbers in base k (because if you have such a number, each digits
represents one of k items and you have made exactly n such choices). Thus,
you could use a
std::vector< unsigned int >
and implement "add 1" in base k.
Best
Kai-Uwe Bux