public class Test1_6
{
public static void premute(String str)
{
char[] strChar = str.toCharArray();
int low = 0;
int high = strChar.length-1;
permute(strChar,low,high);
}
private static void permute(char[] str,int low,int high)
{
if(low==high)
{
for(int i=0;i<str.length;i++)
{
System.out.print(str[i]);
}
System.out.println();
}
else if(low<high)
{
for(int i=low;i<=high;i++)
{
swap(str,low,i);
permute(str,low+1,high);
swap(str,low,i);
}
}
}
private static void swap(char[] str,int low,int high)
{
char temp;
temp=str[high];
str[high]=str[low];
str[low]=temp;
}
public static void main(String[] args)
{
premute("abc");
}
}