int main(int argc, char* argv[])
{
char string[13];
char tmp[13];
int len, i, j, k, n=1;
printf("Length of string: ");
fgets(string, 13, stdin);
sscanf(string, "%d", &len);
if (len > 12) len = 12;
printf("Enter string: ");
fgets(string, len+1, stdin);
string[len] = tmp[len] = 0;
for(i = 2; i <= len; ++i)
n *= i;
printf("There are %d permutations\n", n);
for(i = 0; i < n; ++i)
{
k = i;
tmp[0] = string[0];
for(j = 1; j < len; ++j)
{
int indx = k % (j+1);
k /= (j+1);
tmp[j] = tmp[indx];
tmp[indx] = string[j];
}
printf("%s\n", tmp);
}
return 0;
}
On Apr 8, 1:34 pm, Subhransu <[email protected]> wrote:
> What could be the efficient algo for finding permutation of string.
> Lets say a user enter a string "abc".
>
> The output should be 6(3*2*1) along with he combination of them like
> abc
> bca
> cab
> bac
> acb
> cba
>
> *Subhransu Panigrahi
> *
> *Mobile:* *+91-9840931538*
> *Email:* [email protected]
--
You received this message because you are subscribed to the Google Groups
"Algorithm Geeks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/algogeeks?hl=en.