This will help u i guess :
#include <iostream>
#include <string.h>
using namespace std;
void swap(char str[],int m,int n ) {
char temp=str[m];
str[m]=str[n];
str[n]=temp;
}
bool duplicate(char str[], int start, int end)
{ if(start == end)
return false;
else
for(; start<end; start++)
if (str[start] == str[end])
return true;
return false;
}
void Permute(char str[], int start, int end)
{
if(start >= end){
cout<<str<<endl;
return;
}
for(int i=start;i<=end;i++)
{ if(!duplicate(str,start,i))
{
swap(str,start,i);
Permute(str,start+1,end);
swap(str,start,i);
}
}
}
int main()
{
char Str[]="aba";
Permute(Str,0,strlen(Str)-1);
return 0;
}
NIshant Pandey
Cell : 9911258345
Voice Mail : +91 124 451 2130
On Tue, Jan 7, 2014 at 4:44 PM, kumar raja <[email protected]> wrote:
> This u can do it using the backtracking method. To know how to use
> backtracking refer algorithm design manual by steve skiena.
>
>
> On 7 January 2014 03:35, bujji jajala <[email protected]> wrote:
>
>> generate all possible DISTINCT permutations of a given string with some
>> possible repeated characters. Use as minimal memory as possible.
>>
>> if given string contains n characters in total with m < n distinct
>> characters each occuring n_1, n_2, ....n_m times where n_1 + n_2 + ...+ n_m
>> = n
>>
>> program should generate n! / ( n_1! * n_2! * ....* n_m! ) strings.
>>
>> Ex:
>> aba is given string
>>
>> Output:
>>
>> aab
>> aba
>> baa
>>
>>
>> -Thanks,
>> Bujji
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Algorithm Geeks" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
>
--
You received this message because you are subscribed to the Google Groups
"Algorithm Geeks" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].