C Programming
DATE-FEB26
#include<stdio.h>
#include <string.h>
// Swap using index (no pointers)
void swap(char str[], int i, int j)
{
char temp = str[i];
str[i] = str[j];
str[j] = temp;
}
// Function to generate permutations
void permute(char str[], int left, int right)
{
if(left == right)
{
printf("%s\n", str);
return;
}
for(int i = left; i <= right; i++)
{
swap(str, left, i); // swap
permute(str, left+1, right);
swap(str, left, i); // backtrack
}
}
int main()
{
char str[100];
printf("Enter a string: ");
scanf("%s", str);
int n = strlen(str);
permute(str, 0, n-1);
return 0;
}