Wednesday, May 18, 2016

Permutations of a String without repeatition

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

using namespace std;

/* Function to swap values at two pointers */
void swap(char *x, char *y)
{
    char temp;
    temp = *x;
    *x = *y;
    *y = temp;
}

void permute (char * a, int l, int r) {

if (l == r) {
cout<<a<<"\n";
} else {
for (int i = l; i<=r; i++) {
swap ((a + l), (a + i));
permute(a, l+1, r);
swap ((a + l), (a + i));
}
}
}

int main() {
// your code goes here
char str[] = "ABC";

int n = strlen(str);
    permute(str, 0, n-1);

return 0;
}

No comments: