以下のコードは、指定された文字列の可能なすべての組み合わせを出力します。文字列を再帰的に生成します。ここで、各文字列へのポインターの配列を使用して、各組み合わせを配列に格納したいと考えています。文字列を指すようにポインタを初期化するにはどうすればよいですか。コードは次のとおりです:-
Input ABC
Output
ABC in b[0]
ACB in b[1]
BAC
BCA
CAB
CBA
等々 。
ありがとう :)
void permute(char *a, int i, int n)
{
int k=0;
char *b[100];
int j;
if (i == n)
{
// *b[k]=a;
printf("%s\n", a);
i++;
}
else
{
for (j = i; j <= n; j++)
{
swap((a+i), (a+j));
permute(a, i+1, n);
swap((a+i), (a+j)); //backtrack
}
}
}