Wednesday, May 18, 2016

Permutations of a string with repeatitions

#include <iostream>
#include <string.h>
#include <stdio.h>
#include <algorithm>

using namespace std;

void permute(char * str, int len, char * data, int index) {

for (int i = 0; i < len; i++) {
data[index] = str[i];
if (index == len - 1) {
cout<<data<<"\n";
} else {
permute(str, len, data, index +1);
}
}
}

void allLexicographicString(char * str) {

int len = strlen(str);
sort(str, str + len - 1);
char * data = new char[len];
permute(str, len, data, 0);
}

int main() {

char str[] = "ABC";
allLexicographicString(str);
return 0;
}

No comments: